應用心理學提升程式碼可讀性
溫柔資訊教育, Jim
Copyright © 2022 溫柔資訊教育
作者簡介
溫柔資訊教育, Jim
喜愛心理與科技相關之議題。個性悶騷。曾於認知學習研究室擔任工程師。
合作與建議:gentleinfo.com@gmail.com
介紹
相信大家都有看過寫的很難懂的程式碼,導致要維護修改都很困難,因此如何寫出好理解的高可讀性的程式碼,是一項很重要的事情。
程式碼要容易被理解,其實可以應用教育心理學的理論去應用,設計出好理解的程式碼。因為教育心理學會提到,如何設計出讓學習者容易吸收學習的教材,而這跟把程式碼寫的可被容易理解,其實有異曲同工之妙。
心理學專家們統整了多項設計教材的原則,讓教材可以更適合被理解學習,在此我將會把這些原則應用在程式碼的設計上,寫出高可讀性的程式碼。
認知負荷理論介紹
自1960年代開始,就有認知心理學家,在探究人類如何處理訊息的研究當中,提出許多不同觀點。而這些不同觀點中有一個共同的研究結論,那就是人類處理訊息的認知資源是非常有限的。
因此如何利用這每一份認知資源,就是一個重大的議題。 在許多專家研究如何善用認知資源,因而提出了結合認知心理學研究成果與教學設計觀點的認知負荷理論(cognitive load theory)。
認知負荷理論簡單的說就是探討人類如何處理訊息,探討處理訊息的過程中,如何分配與使用認知資源的一套理論。
認知負荷的三種類型
內在認知負荷intrinsic cognitive load
理解知識內容本身所需要投入的認知資源
外在認知負荷extraneous cognitive load
教材轉譯到知識的過程
例如:讀原文書時,將不熟悉的語言轉譯到可以了解的知識之過程,就是外在認知負荷。而讀原文書會比讀母語的書,所產生的外在認知負荷會更大。
增生認知負荷germane cognitive load
可以促進學習的認知負荷
例如:當學習者觀看自然科學教材的示意圖,會消耗認知資源,但可以藉由示意圖了解更為整體的概念,幫助學習者學習,而此認知負荷稱為增生認知負荷。
程式碼的認知負荷
內在認知負荷
系統架構
演算法
商業邏輯
外在認知負荷
理解程式語言所要帶來的概念
增生認知負荷
技術文件
良好的註解
設計原則與效應
接著我們要來介紹設計原則與效應,並且藉由例子來了解如何應用在程式碼的撰寫。
Last updated