Первоначально опубликовано на dev.to ссылка

Недавно я столкнулся с термином ментальная модель. Это еще не новый термин в контексте разработчика. Давайте поймем, что такое Ментальная модель, используя теорию первых принципов. Ссылка на теорию первых принципов

Что такое Ментальная модель:

Ментальная модель — это просто представление того, как что-то работает. Мы не можем держать в голове все детали мира, поэтому мы используем модели, чтобы упростить сложное в понятные и организуемые фрагменты.

Ссылка на блог о Ментальных моделях

В другой статье, объясняющей ментальную модель, она сформулирована следующим образом.

Ментальные модели — это личные, внутренние представления внешней реальности, которые люди используют для взаимодействия с окружающим миром.

[Ссылка на статью (https://www.ecologyandsociety.org/vol16/iss1/art46/main.html#WHATISAMENTALMODEL%C2%A0?8)

Мы, разработчики компьютерных наук, нуждаемся в собственной модели. В компьютерных науках существует огромное количество практик, которые мы можем использовать. А пока давайте посмотрим на самое важное, что мы делаем ежедневно: код.

Ментальная модель позволяет нам понять кодовую базу. В приложении, которое вы создаете, могут быть тысячи строк кода. Но по-человечески невозможно запомнить каждую строчку кода. Но что мы можем запомнить, так это те части кода, которые взаимодействуют с другими частями. И используя эти взаимодействия, мы можем составить карту памяти о том, как работает приложение.

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

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

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