Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Lazarus, Free Pascal, CodeTyphon
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.04.2025, 19:50   #11
phomm
personality
Старожил
 
Аватар для phomm
 
Регистрация: 28.04.2009
Сообщений: 2,899
По умолчанию

Я не против, чтобы вы поступали так, как вы хотите, пишете код, используете какой-то стиль. Я как раз и стараюсь быть конструктивным, и про личность ничего не говорил, только про методы задействованные в коде и описаниях, которые претендуют на аудиторию.
Про префиксы - я отсылаю к официальным гайдлайнам https://wiki.freepascal.org/Coding_style который упоминает https://docwiki.embarcadero.com/RADS...e_Declarations
и я согласен в целом с аргументами что это пережиток Си и т.п., но также надо учитывать и специфику паскаля, а именно регистро-независимость текста исходного кода, в результате чего нельзя назвать идентификаторы (типы, переменные , модули и прочее) одним словом в разном регистре (как это принято в Си и его последователях), и использовать префикс - стандартизированный способ управлять этой особенностью, облегчая вхождение всем участвующим, в подтверждение отсылаю также к непоследнему авторитету https://www.gunsmoker.ru/2010/07/blog-post.html
опять же, это не наезд, а пожелание, раз уж материал претендует на учебный (и это похвально)

Аргументацию про функции я не очень понял, особенно учитывая во внимание тот факт, что в паскале давно появилось Exit(MyValue) и дельфи тоже это давно перенял, к тому же я говорил про out-параметры, а аргумент, как я понял (возможно, не совсем, поправьте) про былинный механизм возврата значения через имя функции, который не используется уже никем, и давно замещён (в современном паскале, на который вы ссылались статьёй выше) на механизм псевдо-переменной Result (из вики: If {$modeswitch result+}, which is set by {$mode objFPC} and {$mode Delphi}, inside the implementation block the special identifier result is available. каковые модсвитчи - дефолт для подавляющего большинства проектов, не думаю что кто-то явно переопредялет их на какой-нибудь макпаскаль просто так), и просто так использовать имя функции для возврата, когда есть резалт и эксит - именно что выстрел в ногу, не могу никак согласиться, что это ненадёжность, используется старый механизм(который по факту только для совместимости, а не для обычного кода) - значит сами подписались на потенциальные проблемы.

к реализации примера это не совсем придирки, а опять же пожелание, чтобы для учебного материала и примеры были с иголочки, а не на коленке.

про кодовую базу самих паскаля и лазаруса - я думаю стоит их принять за исключения и повзолить им иметь указатели и прочую магию, я про них не имел в виду на них ориентироваться напрямую, а лишь о том, что якобы небезопасность не является таковой, иначе бы не использовалось (в модулях для компилятора-то). наоборот, в качестве примера с интерфейсами, которые активно используются, я приводил довольно известный проект QuickLib

Последний раз редактировалось phomm; 10.04.2025 в 20:05.
phomm вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Уничтожение объектов atenon C++ Builder 3 01.06.2012 18:44
Создание и уничтожение объектов. Время жизни объектов C++/C# Anett// Помощь студентам 0 24.10.2011 23:26
Автоматическое уничтожение объекта mutabor Общие вопросы Delphi 6 25.06.2008 22:25
Создание/уничтожение объектов nimf Общие вопросы Delphi 10 14.04.2008 10:54