Существует немало книг и методик о том, что такое хороший и правильный код, однако, чёткого определения до сих пор нет. Безусловно, профессионалы выделяются именно красотой и стройностью кода, но как же на глаз различить код опытного программиста и новичка? Есть несколько признаков.
Настоящий профи знает, что впоследствии его код будут не раз читать (возможно, даже он сам), править и дополнять, поэтому он всегда оставляет чёткие и понятные комментарии по тем или иным важным аспектам.
Почему код грамотного специалиста так точен? Потому что профессионалы последовательны, а новички не стремятся к систематизации и любят всё сваливать, что называется, в одну кучу. А ведь в программировании фраза «разделяй и властвуй» как нельзя более точна. «Каша» из кода может быть даже вполне работоспособной, но только до первой попытки внести изменения или первой нестандартной ситуации.
Ещё одно критическое отличие заключается в том, что код искусного программиста легко тестируется. Доступность для тестирования — это важнейший элемент обеспечения качества кода. К примеру, жёсткая связка компонент может отрицательно сказаться на стоимости тестирования. Если компонент отвечает за вычисление заработной платы и напрямую связан с конкретной базой данных, то для его тестирования придётся поднимать всю базу данных. Такое действие потребует большого объёма ресурсов, что может быть неудобно или даже невозможно.
Код мастера легко поддерживать, масштабировать и оптимизировать. Новички любят тратить колоссальное количество сил и времени на преждевременную оптимизацию — уже в процессе написания кода. Профессионал же делает это только тогда и там, где это действительно необходимо. Иными словами, «здание» вашего кода можно украшать только после того, как вы возвели добротный фундамент, стены и крышу.