—тандарты написани¤ исходного кода в Delphi

Copyright © 2004 ¬¤чеслав  олдовский

верси¤ документа: 1.2 от 17 сент¤бр¤ 2004 г.

"иногда неважно, в какой степени правильным ¤вл¤етс¤ подход, оказываетс¤, что в большинстве случаев более эффективно придерживатьс¤ пусть и менее правильного, зато единообразного и продуманного подхода, чем в посто¤нном ожидании более правильного не придерживатьс¤ никакого вообще..."
эмпирически подтвержденна¤
собственна¤ точка зрени¤ автора

ќт автора.

 аждый раз, когда ¤ открываю у себ¤ на компьютере этот документ, у мен¤ возникает желание его доработать. ќбычно доработки про¤вл¤ютс¤ в виде расширени¤ уже написанного, внесени¤ исправлений ошибок и уточнени¤ неоднозначности. Ѕывает, что приходитс¤ выбирать чуть ли не наугад один из нескольких возможных вариантов написани¤ кода только ради того, чтобы был "стандарт". »менно поэтому этот документ имеет номер версии и дату последней ревизии. ¬озможно, и публиковать его следует периодически.

»ногда ловлю себ¤ на мысли, что подобную доработку можно продолжать еще очень долго, и нет гарантии, что по истечении этого продолжительного времени документ будет совершенен. ѕоэтому ¤ вполне резонно ожидаю, что у подобного документа есть (и, пожалуй, будут всегда) недостатки. ћожно высказать как предложени¤ по его расширению, так и оспорить уже изложенные мысли. ¬ любом случае ¤ буду признателен за отклики читателей.

¬ принципе, объем возможных доработок дл¤ себ¤ ¤ вижу настолько объемным, что готов развить этот материал в целую книгу, куда можно включить и анализ плохо написанного кода, и элементы экстремального программировани¤, и управление совместной работой в системе контрол¤ версий. ќднако все это требует больших затрат времени, возможно в будущем оно у мен¤ по¤витс¤.

“ак получилось, что первоначально этот документ компоновалс¤ в сжатые сроки из различных источников, потом прошел множество доработок, в результате которых уже очень т¤жело вы¤вить первоначальные источники тех или иных мыслей. —писок (не полный) использованных источников приведен в конце документа, однако если кто-либо узнает свои мысли, и обоснованно потребует внесени¤ своего труда в этот список, то ¤ это сделаю безоговорочно и незамедлительно.

—облюдение данных стандартов об¤зательно дл¤ всех сотрудников компании-разработчика, зан¤тых в реализации одного проекта, и в равной степени призвано решать, как минимум, три задачи, направленных на повышение эффективности программировани¤ (каковой можно считать сокращение сроков разработки, снижение количества ошибок, упрощение возможности повторной доработки участков кода, снижение трудоемкости поиска и устранени¤ ошибок и т.д.):

  • во-первых, соблюдение данных правил позвол¤ет сделать код унифицированным, облегчить его чтение и воспри¤тие всеми членами команды разработчиков, повысить прозрачность кода, легкость его воспри¤ти¤ на различных этапах работы над проектом;
  • во-вторых, соблюдение данных правил ориентировано на поддержку так называемого "защищенного программировани¤", направленного на создание программ таким образом, чтобы изначально при написании кода заложить механизмы простого его расширени¤, поиска различного вида ошибок, отладки и трассировки, и, в первую очередь, первоначального кодировани¤ с минимальным количеством допускаемых ошибок;
  • в-третьих, соблюдение данных правил ориентирует на написание компактного и оптимального программного кода, который быстро и эффективно исполн¤етс¤, расходу¤ минимальное количество системных ресурсов.

—ќƒ≈–∆јЌ»≈
  1. ‘ј…Ћџ »—’ќƒЌќ√ќ  ќƒј
    1.1. —труктура папок проекта
    1.2. »менование исходных файлов
    1.3. ќрганизаци¤ исходных файлов
    1.4. ƒирективы компил¤тора
    1.5. ƒирективы условной компил¤ции
    1.6. —екции определени¤ типов и констант (Const, Var и Type)
    1.7.  опирайт и комментарий. ѕример заголовка дл¤ модул¤
    1.8. ќбъ¤вление модул¤
    1.9. ќбъ¤вление используемых модулей
    1.10. ќбъ¤вление классов и интерфейсов
    1.11. —труктурные составл¤ющие модулей и разделение алгоритмов
    1.12. ќбъ¤вление параметров
    1.13. »нициализаци¤ глобальных переменных
    1.14.  оллизии, св¤занные с именами
    1.15. ‘ормы, создаваемые автоматически
    1.16. ‘ункции реализации модальных форм
  2. —ќ√ЋјЎ≈Ќ»≈ ќЅ »ћ≈Ќќ¬јЌ»я’
    2.1. »менование модулей
    2.2. »менование форм и модулей данных
    2.3. »менование классов и интерфейсов
    2.4. »менование полей
    2.5. »менование методов
    2.6. »менование переменных
    2.7. Ќотаци¤ (префиксы) дл¤ именовани¤ переменных (экземпл¤ров объектов) в зависимости от типа
    2.8. »менование глобальных констант
    2.9. «арезервированные слова
    2.10. ќбъ¤вление типов и экземпл¤ры переменных определенных типов
    2.11. ѕеречислимые типы
    2.12. —троковые ресурсы
    2.13. »сключени¤
  3. »—ѕќЋ№«ќ¬јЌ»≈ ѕ–ќЅ≈Ћќ¬ » ќ“—“”ѕќ¬
    3.1. »спользование пустых строк
    3.2. »спользование пробелов
    3.3. ѕробелы, запрещенные к использованию
    3.4. »спользование отступов
    3.5. ѕеренос строк
    3.6. Ћокальные процедуры
  4.  ќћћ≈Ќ“ј–»»
    4.1. ќбщие –екомендации по комменированию исходного кода
    4.2. Ѕлочные комментарии
    4.3. ќднострочные комментарии
  5.  Ћј——џ
    5.1. —труктура тела класса
    5.2. ”ровни доступа
    5.3. ќбъ¤вление конструктора
    5.4. ќбъ¤вление методов
  6. »Ќ“≈–‘≈…—џ
  7. ќѕ≈–ј“ќ–џ
    7.1. ѕростые операторы
    7.2. —оставные операторы
    7.3. ѕрисвоени¤ и выражени¤
    7.4. ќбъ¤вление локальных переменных
    7.5. ќбъ¤вление массивов
    7.6. ќператор if
    7.7. ќператор for
    7.8. ќператор while
    7.9. ќператор repeat until
    7.10. ќператор case
    7.11. ќператор try
  8. “–≈Ѕќ¬јЌ»я ƒЋя ‘ќ–ћ»–ќ¬јЌ»я  –»“»„≈— » ¬ј∆Ќќ√ќ   ѕ–ќ»«¬ќƒ»“≈Ћ№Ќќ—“»  ќƒј
    8.1. ќператор if
    8.2. ѕор¤док следовани¤ параметров
    8.3. ѕараметры-константы
    8.4. “ипы значений с плавающей точкой
    8.5. “ипы Variant и OleVariant
  9. ќЅў»≈ –≈ ќћ≈Ќƒј÷»»   ѕќ—“–ќ≈Ќ»ё ѕ–»Ћќ∆≈Ќ»я
    9.1. ’ранение и доступ к параметрам настройки приложени¤
    9.2. “ранзакции
    9.3. ѕоддержка многопользовательской среды
    9.4. ѕоддержка исполнени¤ в сетевой среде
  10. »«Ѕ≈∆јЌ»≈ Ќј»ЅќЋ≈≈ –ј—ѕ–ќ—“–јЌ≈ЌЌџ’ ќЎ»Ѕќ 
    10.1. —равнение переменных с плавающей зап¤той
    10.2. —равнение строк
  11. ƒќѕ”—“»ћџ≈ »— Ћё„≈Ќ»я
    11.1. ћаксимальна¤ длина строки кода
    11.2. —оглашение об именовании переменных
  12. ƒќ ”ћ≈Ќ“»–ќ¬јЌ»≈ ѕ–ќ≈ “ј
    12.1. ѕаспорт проекта
  13. ——џЋ » Ќј »—“ќ„Ќ» »
  14. ѕ–»Ћќ∆≈Ќ»я
    ѕриложение ј. "ѕаспорт проекта"

Copyright © 2004 ¬¤чеслав  олдовский —пециально дл¤ Delphi Plus



Новости за месяц

  • Июнь
    2020
  • Пн
  • Вт
  • Ср
  • Чт
  • Пт
  • Сб
  • Вс
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31