冗餘效應 redundancy effect
概念
一樣的訊息重複的出現,佔用了工作記憶,對於學習造成了干擾的現象。
以教材為例,當文字與語音的內容完全相同時,一樣的訊息額外的佔用了工作記憶,就會有出現冗餘的現象。
範例一
這個例子是一段關於課程管理相關的程式,course物件有courseName, courseHours, courseTeacher的屬性。在getCourseName function中會回傳course.courseName,我們可以發現這裡有冗餘效應的現象 因為course內的屬性,都會有course冗餘的字出現。
優化前之課程管理程式碼
const course = {
courseName: '應用心理學理論提升程式碼可讀性',
courseHours: 3,
courseTeacher: 'Jim',
}
function getCourseName() {
return course.courseName;
}因此我們可以將程式碼優化,把course內的屬性冗餘的文字去除。這樣getCourseName function中的程式碼就會簡潔許多 避免了冗餘效應的發生。
優化後之課程管理程式碼
範例二
程式碼有時會因為需求的改變而進行改寫,有些人便會將舊的程式碼註解,方便未來可能需要還原程式碼。
久而久之,這些註解的程式碼就會占用許多空間,而其他工程師看到這些註解的程式碼,也不敢隨意刪除。導致冗餘的程式碼的註解越來越多,這會對閱讀程式碼產生認知負荷。
因此如果真的有需求,需要還原舊版的程式碼,那我們應該要善用版本控管的工具,取代註解程式碼的習慣。
優化前之程式碼
優化後之程式碼
範例三
這是一段取得三個數字之統計值的function,function中的註解解釋了每一行計算代表的含意。
註解非常詳盡,但有些程式碼本身不需要註解就已經可以很好理解。
因此那些過於簡單的註解,會造成冗餘效應的現象。
在優化後的程式碼去除了非必要的註解,只在較為複雜的計算寫上註解,是不是看起來就簡約好讀了許多呢!
優化前之程式碼
優化後之程式碼
Last updated