Таємничий спосіб, яким наш мозок читає: чи може це навчити нас писати кращий код?

Чи знаєте ви, що читання є складною оркестрацією різних частин мозку? Насправді, деякі дослідження свідчать, що мозок обробляє літери та цифри через окремі нейронні шляхи. Це відкриття стає особливо цікавим, коли ми змішуємо літери та цифри, як у заголовку цього блогу або в коді. Розуміння того, як мозок декодує, читає і надає значення цим символам, може допомогти нам писати чистіший, більш зручний для читання код, зменшуючи когнітивне навантаження та мінімізуючи переключення контексту між цими двома нейронними системами.

Коли ми читаємо, наш мозок сильно покладається на контекст, у якому подано символи. Наприклад, у заголовку цього блогу наш мозок не сприймає числові символи як цифри; натомість він інтерпретує їх як літери. Це відбувається тому, що нейронна система, відповідальна за обробку літер, активується на основі контексту.
Однак заголовок було б легше прочитати, якби він складався тільки з літер, оскільки мозок природно налаштований інтерпретувати їх легше.

А як це пов'язано з програмуванням? У програмуванні ми також залежимо від нейронних систем мозку, і ми постійно покладаємося на контекст символів, щоб зрозуміти їхнє значення. Давайте розглянемо приклад:

const clamped_value = clamp(3, 2, 5);

Як і в багатьох випадках коду, який ми читаємо, часто трапляється суміш чисел і літер. Така змішуваність часто є неминучою в додатках будь-якого розміру. Однак, коли ми читаємо цей код, ми втрачаємо контекст того, що ми читаємо, починаючи читати параметри функції. Це збільшує когнітивне навантаження та складність коду. Попри простоту прикладу, цей ефект посилюється в великих кодових базах. Відсутність чітких ідентифікаторів змушує читача зупинятися і замислюватися над їхнім значенням.
Цей додатковий розумовий зусилля збільшує когнітивне навантаження, схоже на те, як наш мозок важко декодує текст, у якому незнайомі символи замінюють звичні літери.

Як ми можемо покращити ситуацію, якщо ми залежимо від контексту та переключення контексту між нейронними системами при читанні коду?

const MIN_VALUE = 3;  
const MAX_VALUE = 5;  
const value = 2;  
const clamped_value = clamp(value, MIN_VALUE, MAX_VALUE);

Тут константи MIN_VALUE і MAX_VALUE надають одразу контекст. Читач може легко інтерпретувати цей код, так само як наш мозок миттєво розпізнає добре сформовані слова. Когнітивне навантаження низьке, що дозволяє читачу зосередитися на логіці програми, а не на боротьбі з неясними значеннями.

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

Остаточні думки: Важливість зрозумілого коду

Написання чіткого, структурованого коду подібне до написання чітких, добре сформульованих речень. Це дозволяє іншим легко обробляти та розуміти його. Так само, як і при читанні, чим знайоміший і інтуїтивно зрозуміліший код, тим легше вашому мозку (та вашим колегам-розробникам) його обробити.

Отже, наступного разу, коли ви пишете код, запитайте себе: Чи легко його читати? Чи є він інтуїтивно зрозумілим? Чи зменшує він зусилля, необхідні для розуміння?

Діліться своїми думками в коментарях!

Джерела

Austin Learning Solutions. (2020). Numbers vs. Letters: How We Interpret Symbols. Взято з https://austinlearningsolutions.com/blog/131-numbers-vs-letters-how-we-interpret-symbols

Pernet, C., Celsis, P., & Demonet, J. F. (2012).
Візуальна обробка чисел і нейронна організація людського мозку: Подвійна дисоціація між літерами та числами. Національні інститути охорони здоров'я. Взято з https://pmc.ncbi.nlm.nih.gov/articles/PMC3357212/

Перекладено з: Th3 My5t3riou5 Way 0ur Brain R3ad5: Can It T3ach U5 t0 Writ3 B3tt3r C0d3?

Leave a Reply

Your email address will not be published. Required fields are marked *