Критерий качественной архитектуры

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

Отвечаю. Критерий качественной архитектуры - степень приспособленности к эволюционным изменениям.

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

Подытожим:

  • Качественная архитектура характеризуется способностью к эволюционным изменениям. Революции в кодовой базе (переписать все) никто не любит)
  • Качественная архитектура характеризуется возможностью специализировать (усложнять) отдельные свои части (новые, более крутые и полезные "косточки").
Критерий качественной архитектуры
Разрабы очень любят говорить про архитектуру ПО. Про clean code, про паттерны, про организацию кодовой базы | Сетка — социальная сеть от hh.ru