Pull to refresh

Comments 12

Даже стало интересно как коррелирует ваш ник с темой статьи.
Но когда увидел «Юрист с хобби» всё встало на места :)
Ну, видимо юристов тут не любят — карму снимают.
А что означает A в начале всех операндов?
Просто префикс для параметров.
Артикул это. А смысл в том, чтобы случайно не пересечься с полем или свойством класса/записи. В принципе компилятор обычно достаточно умён, чтобы понять даже когда вы пишете типа ALeft := ALeft; :) но сам будешь мучиться: «а точно он правильно понял?», «а в следующей версии он случайно не перепутает?» и т.д.

Конечно в такой функции это не требуется, но лучше от привычек не отступать.
Это Borland'овский styleguide. Используется венгерская нотация по области видимости:
A — формальный параметр
f — поле класса

У нас еще используют
l — локальная
g — глобальная переменная
c — константа.

Очень удобно, потому что сразу понятно, поле это, формальный параметр, глобальная переменная, property класса или что-то еще.
Вот, например, кусок кода, с которым сейчас работаю:
  lPageContent := PostProcessFinalPage(lPageContent, AReqContext, lMessage);
  AResponse.ResponseNo := cStatusOK;

По всем полям понятно, откуда они пришли с первого взгляда, никуда скролить не надо.
А можно чуть поподробнее про use case? Дроби в корпоративном приложении?
Как раз описанный в начале случай. База данных юридических лиц. В егрюл размер доли может храниться в виде денежной суммы, десятичной дроби или обыкновенной. 10000 рублей ровно на троих не разделить, поэтому по 1/3 каждому. Сложение всех долей должно давать 1 в качестве проверки.
Как всторостепенное приложение — написал калькулятор для того, чтоб ребенок мог проверять верно ли он решает школьные задачи.
Да, в школьном приложении неплохо получается арифметика дробей:
Воот, до такого и допилю со временем))
А там в основе и лежит моя реализация перегрузки операторов для дробей, только на C#, который является развитием Object Pascal, и тем же автором — Андерсом Хейлсбергом.
Sign up to leave a comment.

Articles