"Добрым быть совсем, совсем не просто…"
Однажды в сети я встретил статистику (где именно не помню), что программисты примерно 80% времени читают код и 20% времени код пишут.
Сложно сказать, насколько это правда, но если говорить про 1С - то можно с уверенностью сказать, что читать приходится много и в основном чужого кода.
Через год порой уже и на свой код смотришь как в первый раз.
Когда код читаешь, кажется, что его написал хороший, но не очень добрый программист, т.к. понять, как работает программа бывает трудно.
Можно сказать, что Доброе программирование - это написание кода с заботой о том, кто его будет читать.
Обычно читающий знает меньше автора, может быть, он хуже знает предметную область, а может быть, просто новый человек в проекте.
Я попробовал составить список хорошего и доброго, что помогает читающему код жить легче. Возможно, остальные программисты меня поддержат))
- Вовка в тридевятом царстве или двое из ларца (и так сойдет).
Как правило, именно тогда, когда код написан и заработал, программист лучше всего понимает, каким должен быть код, вот только на самом деле он совсем не такой. Иногда, чтобы код стал красивым, надо его переписать почти полностью, иногда достаточно сделать рефакторинг того, что есть. В любом случае именно сейчас есть понимание того, как надо, и надо именно так и сделать. Оставить "как есть" - это зло).
- Жили были КИТ и КОТ - было все наоборот.
Теперь самое время прочитать код и проверить, действительно ли этот код понятен читающему.
Все ли имена переменных и функций означают именно то, что имелось в виду.
Нет ли слов, которые можно понять различным образом. Писать надо как можно проще - проще для читающего.
- Как зовут трех поросят - знает каждый.
Чтобы читать много - надо читать быстро, а чтобы читать быстро, надо читать нужное и пропускать остальное.
Для этого надо, чтобы код был разделен на участки, назначение которых можно понять при беглом прочтении, а количество таких участков, отображаемых за один раз, должно быть "обозримым".
Тут нам помогут числа из сказок, 3 и 7.
3 - это минимальное количество элементов, которые воспринимаются как группа.
7 - это максимальное количество элементов, которое воспринимается при беглом прочтении. Все, что больше - трудно.
- "Казнить нельзя помиловать" или полтора землекопа.
Остались приятные мелочи - описать ограничения, неочевидные соглашения и ошибки.
Тут надо подумать о том, что может сделать читающий, чтобы "улучшить" ваш код.
Зачем он стал его читать? Может, нет сообщения об ошибке, а может, пользователю непонятно, как работает программа.
Может быть, код применяют не по назначению, а может, его решили "улучшить", но вы уже это пробовали, и получилось плохо.
Одним словом, следует добавить комментарии, написать справку, добавить сообщения об ошибках, которые позволят избежать лишнего копания кода.
Самое быстрое чтение - это когда читать не надо.
Ну вот, теперь код стал "добрее" и тот, кто станет его читать, скажет больше добрых слов)))