![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#11 |
personality
Старожил
Регистрация: 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. |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Уничтожение объектов | 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 |