Преамбула

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

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

Принципы

Легенда гласит, что когда-то давно на Земле жили разумные существа. Они населяли лабиринт глубоких пещер под бескрайними циклопическими горными хребтами. Там они занимались инженерным делом и были самыми искусными мастерами, которых когда-либо знал мир. Безглазые и безгласные, эти смелые, закаленные виртуозы выводили универсальные и в то же время удивительно лаконичные, несложные принципы, лежавшие в основе их богатой эмпирической практики. С незапамятных времен они дошли до нас в виде имен своих самых почетных новаторов: Кварм, Авур, Доритун, Онифи.

  1. Качество должно быть рационально максимальным, Quarm. Качество не самоцель, а только свойство, которое должно быть достигнуто. Как и любое свойство, качество можно измерить и определить: нам не всегда нужно наилучшее качество, иногда нам просто нужно достаточно хорошее.
  2. Избегайте необоснованных повторений, Авур. Разрабатываемая единица должна быть детерминированной и выполнять однозначную утилитарную функцию. Такой оптимизации должны подвергаться части целого, которые могут быть сведены к единому экземпляру путем их слияния. В этом случае дублирование заменяется повторным использованием.
  3. Не усложняйте без необходимости, Доритун. Совершенство достигается не тогда, когда нечего добавить, а тогда, когда нечего убрать. Разрабатываемая сущность должна быть максимально простой (совершенной), главное, чтобы она не нарушала первый и второй принципы.
  4. Откажитесь от ненужных функций, Onify. Добавлять или сохранять функциональность, которая гипотетически когда-нибудь может пригодиться, но не имеет ценности в ближайшем будущем, как минимум безрассудно. Правило таково: «Вымети все лишнее». Невостребованный функционал, как правило, не находит применения в будущем, устаревает и становится обузой для тех, кто вынужден его поддерживать. Требования и степень детализации меняются быстрее, чем вы думаете.

Эпилог

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

Примечания

  1. Возможно, вы знали эти принципы и под другими названиями. Вот некоторые из них: DRY, YAGNI, KISS.
  2. В руководстве по стилю письма говорится:

Энергичный текст должен быть кратким. В предложении не должно быть ненужных слов, в абзаце — ненужных предложений по той же причине, по которой в чертеже не должно быть ненужных линий, а в машине — ненужных частей. Это требует не того, чтобы писатель делал все свои предложения короткими или чтобы он избегал всех подробностей и рассматривал свои предметы только в общих чертах, но чтобы каждое слово говорило.
Элементы стиля Уильям Странк-младший и Э. Б. Белый