Каким документам стандартов кодирования Delphi вы следуете?
Наша компания стремится внедрить некоторые более совершенные стандарты кодирования, чтобы улучшить читаемость, проверяемость и ремонтопригодность нашего кода. Мы встречали CodeGear «Руководство по стилю Object Pascal», но его уже давно не трогали, и я полагаю, что некоторые люди внесли некоторые локальные улучшения или дополнения. Я наткнулся на некоторые опубликованные варианты и другие документы, которые я перечислю ниже.
NB: Я действительно нет хочу начать войну стилей. Я просто хочу знать, каким стандартам вы следуете и почему.
Спасибо.





CodeGear "Руководство по стилю Object Pascal"
Руководство по стилю языка Delphi Project JEDI с дополнениями JCL
(Расширение «Руководства по стилю Object Pascal» от CodeGear)
https://wiki.delphi-jedi.org/wiki/Project_JEDI_Delphi_Language_Style_Guide
(Спасибо Jeroen Pluimers и AmigoJack за сообщение о том, что старые ссылки умерли. И в случае, если эта последняя ссылка также умирает, вот ссылка на Интернет-архив, для хорошей меры.)
Ссылка в ответе больше не работает, но я думаю, что это статья, которую вы имеете в виду: jcl.delphi-jedi.org/documents/styleguide.html, где это хороший дополнительный ресурс jvcl.delphi-jedi.org/StyleGuide.htm
Теперь перенаправляет на wiki.delphi-jedi.org/index.php?title=Style_Guide
Econos - Стандартный документ по кодированию
(Подзаголовок «Документ стандартов кодирования в Руководстве разработчика Delphi 4».)
http://www.econos.de/delphi/cs.html
Ах, старые добрые мастера Ксавье Пачеко, Стив Тейшейра и Стефан Хоффмайстер! Я следил за первыми двумя, но не знаю, что случилось со Стефаном.
Ссылка мертвая, попробуйте: box.cs.istu.ru/public/docs/other/_New/Books/Lang/Delphi/… или sourceformat.com/coding-standard-delphi-econos.htm
CodeGear's «Венгерское арахисовое масло» для именования идентификаторов.
«Соглашения об именах идентификаторов Delphi» на сайте About.com
http://delphi.about.com/od/standards/l/bldnc.htm (через Wayback Machine)
Неработающей ссылке. Не могу найти оригинал.
Спасибо, @Peter Rader. Ссылка изменена на использование Wayback Machine.
На самом деле это не имеет значения, если вы выбираете один и придерживаетесь его. Стандарт кодирования похож на диалект, и пока все в команде говорят на одном диалекте, все в порядке.
Тем не менее, почему бы не выбрать тот же стандарт, который используется в вашей библиотеке времени выполнения (VCL) и документации? Тогда вы все будете говорить на одном диалекте, и вам будет легче читать код библиотеки времени выполнения. И есть множество примеров кода, иллюстрирующих соглашения о кодировании.
Это очень хороший аргумент, и я ценю, что вы это сделали. Спасибо! Тем не менее, мы хотим выбрать стандарт, который стремится к «полной» стороне, поэтому документ VCL может быть не лучшим.
Я лично убежден, что лучше меньше, да лучше, и, в конце концов, правила, которые вы можете зафиксировать в стандарте, гораздо менее важны для удобства сопровождения, чем отношение и опыт программиста.
Может существовать тенденция к чрезмерной разработке стандартов кодирования до такой степени, что они мешают написанию кода.
Я согласен с комментарием Джозза. Вы можете просмотреть все рекомендуемые стандарты, выбрать один и навязать его кодировщикам или вовлечь в процесс свою команду.
По моему опыту, лучший способ вовлечь команду - это предложить команде идею и преимущества внедрения. Ваш существующий талант - ваш лучший ресурс. Точно так же они могут стать вашим главным врагом, если вы заставите их пойти по пути, на который они не пойдут.
Итак, взгляните на существующие варианты кодирования и соберите команду для ярких дискуссий по следующим вопросам:
Самая важная цель должна заключаться в том, чтобы установить «стандарт», который лучше всего подходит вашей команде и вашей компании.
По какой-то глупой исторической причине стандарт кодирования в моей работе состоит в том, чтобы все ключевые слова были в верхнем регистре, как в delphi, так и в sql. Слава богу за блокировку заглавных букв.
В основном я следую этому стандарту. Мое исключение состоит в том, что при установке компонентов редактирования я обычно добавляю к ним префикс ed (не имеет значения, редактирование, памятка или поле со списком). Для кнопок я префикс btn.