О читаемости.
От: 0x7be СССР  
Дата: 22.02.11 17:20
Оценка:
Читать и понимать код любой большой программы трудно. Это если программа написана хорошо. Если она написана плохо, то её усвоение становится очень трудным. В условиях ограничения времени (то есть всегда) это приводит к тому, что приходится систематически работать с кодом, который понимаешь не до конца. Это приводит к многим рискам, поскольку при изменении или использовании такого кода начинают появляться неожиданные последствия.

Большой засадой на пути понимания кода является то, что в отличие от большинства естественных текстов, программа не является линейным текстом. У программ нет вступления, сжатого тезисного изложения основных идей, линии повествования и постепенного раскрытия замысла автора. Программы — это клубки связанных понятий, которые ещё и не понятно с какой стороны разматывать. В них не всегда можно быстро выделить ключевые абстракции, уточняющие абстракции, главные пути исполнения и т.п.

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

Собственно, вопрос — как думаете, есть ли способы радикально повысить читаемость кода программ (не дополнительной документации или комментариев!), и/или устранения проблемы "блуждания среди деревьев" без радикального ущерба для других свойств языка программирования? Интересуют так же мнения вообще о том, как повышать читаемость программ и/или методики изучения больших программ, улучшающие усвоение информации.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.