Программирование для гуманитариев

Сегодня в беседе про базовые вопросы программирования родилась интересная аналогия. Одним из основных требований к современному коду является удобство чтения, и у гуманитариев с навыками сторителлинга внезапно появляются свои преимущества в профессии.

Любая функция изнутри — это рассказ о каком-то действии. То, что для технаря звучит как «функция должна включать шаги одного уровня абстракции», для сторителлинга — «не перегружайте рассказ деталями, если надо — расскажите о них отдельно». Рассказ должен быть кратким, понятным, желательно максимально очевидным, в идеале окидываться взглядом за полсекунды. Для технаря это звучит как «никаких побочных действий и эффектов в функциях, говорящие имена функций и переменных, делать код понятным без добавления текстовых комментариев».

Сами по себе функции — это глаголы, действия. Часто употребляемые слова — объекты. Действия, которые можно с ними совершать — методы объектов. Библиотеки — тематические словари. Автотесты — рассказы о том, как должны себя вести функции. Рефакторинг — редактирование текста с кучей пометок и торопливых исправлений с целью придать ему изначальную стройность.

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

Присоединиться к обсуждению, оставить комментарии или отзыв на статью можно под постом в фейсбуке.