Поддерживаемый код

Контекст

Ошибки в коде могут привести к финансовым потерям, катастрофам и даже человеческим жертвам. Из-за ошибок в программном обеспечении без связи остались миллионы абонентов компании AT&T, произошла авария ракеты-носителя «Ариан-5», люди получили повышенные дозы облучения, а финансовая организация Knight Capital Group потеряла 440 миллионов долларов за 45 минут. И это лишь несколько прецедентов, по некоторым оценкам ущерб из-за ошибок в ПО оценивается в триллионы долларов ежегодно.

Один из факторов, почему разработчики допускают ошибки — запутанный, трудночитаемый код. По данным некоторых исследований соотношение между чтением кода и его написанием может достигать 10:1 (вполне вероятно, что разрыв еще больше). Беспорядок в коде также приводит и к увеличению сроков разработки. Очевидно, что код должен легко читаться, даже если это затрудняет его написание.

Анализ причин

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

  • Измение требований и сжатые сроки проекта. Предположение, что требования будут оставаться стабильными редко соответствует реальности. Менеджеры в погоне за сроками подталкивают разработчиков пренебрегать качеством кода, не осознавая, что снижение его качества очень быстро начинает влиять на скорость разработки, что еще больше ухудшает ситуацию со сроками.
  • Влияние на производительность. В некоторых случаях чрезмерные усилия по улучшению поддерживаемости кода могут снижать его производительность и даже привести к обратному эффекту, ухудшив его читаемость.
  • Отношение к коду. Не редкость когда даже опытные разработчики пренебрегают качеством кода. Требуется время, знания и тщательная работа над собой, прежде чем написание качественный кода войдет в привычку.

Решение

Поддержание качества кода — один из самых эффективных способов работать с прогнозируемой скоростью. Необходимо работать с менеджерами объясняя им значение хороших практик, тренировать свои навыки и придерживаться разумных компромиссов между скоростью и читаемостью.

Цель этого раздела — систематизировать знания и приемы поддерживаемого кода, а также приведены примеры, помогающие их освоить.

Альтернативы и последствия

Некоторые практики улучшения качества кода могут привести к снижению его производительности. Причина может быть в чрезмерном следовании этим принципам или в особых требованиях к разрабатываемой системе, например, в игровой индустрий, максимально эффективно используют имеющиеся ресурсы. Однако, в современном мире с дешевыми вычислительными мощностями и стремлением бизнеса поддерживать высокий темп разработки разумным компромиссом будет направить усилия на поддержание качества кодовой базы и, при необходимости, выполнять оптимизацию критичных частей системы. В любом случае необходимо помнить, что инженерам не стоит впадать край

Comments

So empty here ... leave a comment!

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Sidebar