DesignGuidelines/ru

From Lazarus wiki
Jump to: navigation, search

Deutsch (de) English (en) español (es) français (fr) 日本語 (ja) 한국어 (ko) português (pt) русский (ru)

Указания по кодированию для Lazarus

Стиль кодирования
  • Поскольку один стиль легче для чтения, Lazarus следует стилю, принятому для Delphi: Object Pascal Style Guide. Конечно, почти любой найдёт там моменты, которые посчитает менее удобными для чтения, чем в других стилях. Это нормально, просто попробуйте следовать этому стилю хотя бы на 90%. В качестве примера смотрите LCL.
  • Старайтесь избегать взаимных (циклических) ссылок модулей (uses в секциях implementation). Причины:
  1. FPC имеет проблемы с ними.
  2. Это позволяет разделить модули и пакеты, когда они становятся слишком большими.
  • Минимизируйте количество вызовов LCL интефейсами при выполнении действия, запрошенного LCL. Интерфейсы только уведомляют LCL, не заставляя что-либо делать. Решение принимает LCL.
  • Соглашения об именовании: см. Nomenclature
  • Весь код должен работать при всех включенных проверках (range, I/O, overflow, stack). Помимо того, что это помогает отладке, некоторые пользователи устанавливают эти проверки в fpc.cfg, поэтому они применяются ко всему Lazarus, включая пакеты и примеры.
  • Имена в комментариях: Комментарии должны помогать читателю. Они - не для прославления писателя. Вы можете добавить имя, если:
  1. Вы занимаетесь поддержкой, т.е. являетесь тем, кто принимает отчёты об ошибках.
  2. Имя удобно для поисковых запросов, чтобы найти помощь по этой теме.
Новые файлы
  • Каждый файл должен начинаться с заголовка, содержащего лицензию и несколько строк, описывающих содержание.
  • Исходные файлы на языке Pascal (.pas, .pp, .inc, .lfm, .lrs) должны иметь имена в нижнем регистре. Можно использовать CamelCase в именах модулей.
Включаемые файлы
  • Должны начинаться директивой {%MainUnit }
Пакеты
  • Должны иметь запись .lpl в packager/globallinks/
  • Должны иметь автора, описание и лицензию
Пункты главного меню
  • Должны иметь клавишу в keymapping.pp

Надёжная версия может быть найдена в svn. Предложения по улучшению могут быть добавлены на странице обсуждения.

GUI

См. GUI design guidelines

См. также