Основные принципы

Преамбула

Радикализация и концептуализация доктрины незыблемых стандартов и правил так и не упрочилась, по естественным причинам, на ниве современного программно-инженерного дела, но вместе с тем принесла изрядное множество стилевых элементов, парадигм и универсиализированных конструктов в свое густое методологическое пространство. Тем не менее, основные, заслуживающие наиболее очевидного и безоговорочного подчинения принципы все еще остаются в разделе мелкокалиберных рекомендаций, исполнение которых, если и подразумевается, то ложится на плечи художника и остается на его совести. 

Эти простые, безукоризненные максимы были разработаны задолго до того, как впервые в истории, человек бережно, и с должным почтением, прикоснулся к мягким клавишам QWERTY клавиатуры. Их можно услышать в конструкторских бюро и отыскать среди рекомендаций к написанию качественной беллетристики. Императивное исполнение этих элементарных правил внушительным и неизбежным образом влияет на реализацию проекта, оказывая благотворное воздействие на конечное состояние разрабатываемого продукта.

Принципы

Легенда гласит, что когда-то давно на земле жили разумные существа. Они обитали в лабиринте глубоких пещер под громадами циклопических горных массивов. Там они практиковали инженерное дело и были в своем ремесле самыми искусными мастерами, каких только знавал мир. Безглазые и бесгласые, эти смелые, прожженные виртуозы вывели универсальные и, в тоже время, удивительно лаконичные, незамысловатые принципы, которые лежали в основе их богатой эмпирической практики. Из глубины веков, они дошли к нам в виде имен их самых достойных новаторов: Quarm, Avur, Doritun, Onify.

  1. Качество следует максимизировать рационально (Quality must be rationally maximized, Quarm). Качество не есть самоцель, а лишь свойство, которое должно быть достигнуто в результате. Как и другие свойства, качество не может быть улучшено за счет всего остального. 

  2. Избегать необоснованных повторений (Avoid unreasonable repetitions, Avur). Разрабатываемая единица должна быть детерминированной и выполнять однозначную утилитарную функцию. Части целого, которые могут быть сведены к одиночному экземпляру за счет их слияния должны подлежать таковой оптимизации. При этом дублирование замещается переиспользованием. 

  3. Не усложнять без необходимости (Don't overcomplicate it unnecessarily, Doritun). Совершенство достигается не тогда, когда больше нечего добавить, а когда нечего убрать. Разрабатываемая сущность должна быть настолько простой (совершенной), насколько это возможно, покуда это не нарушает первый и второй принципы. 

  4. Отказаться от невостребованной функциональности (​​Omit needless functionality, Onify). Запасаться функционалом, который гипотетически может пригодиться в будущем, но не представляет никакой ценности в ближайшей перспективе — по меньшей мере, опрометчиво. Правило гласит — отметайте все лишнее. Невостребованный функционал, как правило не находит применения в будущем, устаревает и становится бременем для тех, кто вынужден его поддерживать. Требования и детализация меняются быстрее, чем кажется. 

Послесловие

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

Примечания:

  1. Эти принципы вы могли также встречать под другими названиями. Вот некоторые из них: DRY, YAGNI, KISS
  2. Руководство по стилю написания текстов гласит:
Vigorous writing is concise. A sentence should contain no unnecessary words, a paragraph no unnecessary sentences, for the same reason that a drawing should have no unnecessary lines and a machine no unnecessary parts. This requires not that the writer make all his sentences short, or that he avoid all detail and treat his subjects only in outline, but that every word tells.
The Elements of Style William Strunk Jr. and E. B. White

Комментарии