Артикул это. А смысл в том, чтобы случайно не пересечься с полем или свойством класса/записи. В принципе компилятор обычно достаточно умён, чтобы понять даже когда вы пишете типа ALeft := ALeft; :) но сам будешь мучиться: «а точно он правильно понял?», «а в следующей версии он случайно не перепутает?» и т.д.
Конечно в такой функции это не требуется, но лучше от привычек не отступать.
Это Borland'овский styleguide. Используется венгерская нотация по области видимости:
A — формальный параметр
f — поле класса
У нас еще используют
l — локальная
g — глобальная переменная
c — константа.
Очень удобно, потому что сразу понятно, поле это, формальный параметр, глобальная переменная, property класса или что-то еще.
Вот, например, кусок кода, с которым сейчас работаю:
Как раз описанный в начале случай. База данных юридических лиц. В егрюл размер доли может храниться в виде денежной суммы, десятичной дроби или обыкновенной. 10000 рублей ровно на троих не разделить, поэтому по 1/3 каждому. Сложение всех долей должно давать 1 в качестве проверки.
Как всторостепенное приложение — написал калькулятор для того, чтоб ребенок мог проверять верно ли он решает школьные задачи.
А там в основе и лежит моя реализация перегрузки операторов для дробей, только на C#, который является развитием Object Pascal, и тем же автором — Андерсом Хейлсбергом.
Перегрузка операторов в freepascal на примере обыкновенных дробей