Все на самом деле достаточно просто:
1) Прочитать несколько книг по проектированию систем и построению кода.
2) Прочитать про самые банальные принципы построения кода: SOLID, KISS, DRY итд
3) Поработать с кодом, пообщаться с коллегами, порешать проблемы сопровождения кода.
Тут же ситуация на самом деле двоякая. У кода фактически две задачи:
- Это решать бизнес задачу наиболее эффективным способом с точки зрения оптимальности работы кода, и времени его написания, и его поддержки.
- Быть читабельным для любого среднестатического программиста (что априори ставит всяких "ценителей безупречного и элегантного кода за дверь"