Лучшие практики кодирования


Лучшие практики кодирования или лучшие практики программирования — это набор неформальных правил ( лучших практик ), которым следуют многие разработчики программного обеспечения в области компьютерного программирования для улучшения качества программного обеспечения . [1]Многие компьютерные программы используются в течение длительного периода времени, [2] поэтому любые правила должны облегчать как первоначальную разработку, так и последующее обслуживание и улучшение исходного кода людьми, не являющимися первоначальными авторами.

В правиле девяноста девяноста Тому Каргиллу приписывают объяснение того, почему проекты по программированию часто задерживаются: «На первые 90% кода приходится первые 90% времени разработки. Оставшиеся 10% кода приходится на долю остальные 90% времени разработки». [ нужна цитата ] Любые рекомендации, которые могут исправить эту недальновидность, заслуживают рассмотрения.

Размер проекта или программы оказывает существенное влияние на частоту ошибок, производительность программистов и необходимый объем управления. [3]

Как указано ниже, хорошее программное обеспечение связано с множеством атрибутов . Некоторые из них могут быть взаимопротиворечивыми (например, очень быстрая работа по сравнению с тщательной проверкой ошибок), а разные клиенты и участники могут иметь разные приоритеты. Вайнберг приводит пример того, как разные цели могут существенно повлиять как на требуемые усилия, так и на эффективность. [4] Более того, он отмечает, что программисты обычно стремятся достичь любых явных целей, которые могут быть установлены, вероятно, за счет любых других атрибутов качества.

Соммервилль выделил четыре обобщенных атрибута, которые связаны не с тем, что делает программа, а с тем, насколько хорошо она это делает: [5]

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