Как написать хороший код?

3 мин. на чтение

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

Итак, для начала давайте поймем, что такое хороший код? Я определил это как код, который без ошибок исполняется машиной и хорошо читается человеком. Какой-то умный человек сказал, что писать код для машины может любой дурак, а код для другого человека только Senior Developer.

Вы будете удивлены, но в большинстве случаев мы пишем код не для машины, а как раз для других разработчиков. Все эти конструкции, комментарии, принципы SOLID, KISS и т.к. созданы отнюдь не для улучшения выполнения кода (машине собственно пофиг, будете ли вы следовать принципу подстановки Барбары Лисков в SOLID или нет). Все это как раз для человека.

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

<?php
class Cart extends Controller {
	function addToCart($product_id) {
		// some code
	}

	function deleteFromCart($product_id) {
		// some code
	}

	function cleanCache() {
		// WTF?!
	}

}

Это как правило и отличает Junior Developer от Senior Developer. Код у Сеньера простой и понятный. Джун же пытается впихнуть все, что он только что узнал.

Илья Ефимович Репин, который кстати родился недалеко от моего родного Харькова – в Чугуеве, замечательный украинский художник сказал такие слова, которые вполне применимы и к программированию:

Сначала художник рисует просто и плохо. Потом сложно и плохо. Потом сложно и хорошо. И только потом просто и хорошо.

 

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.