應該大部分的人都聽過 「80/20 法則」,雖然它的起始目的只是用來描述經濟學上的資源分配的情形,後來適用的範疇越來越廣,也有許多變形。 在軟體開發工程這個領域中,也有許多人引用「80/20 法則」這個觀念,倡導工程師要專注那些影響全局的20%程式碼,不要分散注意力。 基於自己的經驗,我想80/20法則是的確存在的;但是一直很好奇,那些該注意的20%在哪裡? 如果根據理論推導,以程式運行的範疇來看,那些 20% 應該是執行主要功能的部分,這一點倒是沒有太多懷疑。 不過有一天,無意間瞄到我目前check-in code的頻率,修改最多的前二名居然不是主架構的部分。這一點引起了我的好奇心;仔細追下去,從自己留下來的程式臭蟲修正紀錄上看,修最多的多半是邊界條件的處理部分。
業餘大叔程式心得筆記#5:80/20法則的觀察/葉光釗
業餘大叔程式心得筆記#5:80/20法則的觀察/葉光釗
業餘大叔程式心得筆記#5:80/20法則的觀察/葉光釗
應該大部分的人都聽過 「80/20 法則」,雖然它的起始目的只是用來描述經濟學上的資源分配的情形,後來適用的範疇越來越廣,也有許多變形。 在軟體開發工程這個領域中,也有許多人引用「80/20 法則」這個觀念,倡導工程師要專注那些影響全局的20%程式碼,不要分散注意力。 基於自己的經驗,我想80/20法則是的確存在的;但是一直很好奇,那些該注意的20%在哪裡? 如果根據理論推導,以程式運行的範疇來看,那些 20% 應該是執行主要功能的部分,這一點倒是沒有太多懷疑。 不過有一天,無意間瞄到我目前check-in code的頻率,修改最多的前二名居然不是主架構的部分。這一點引起了我的好奇心;仔細追下去,從自己留下來的程式臭蟲修正紀錄上看,修最多的多半是邊界條件的處理部分。