iT邦幫忙

鐵人檔案

2019 iT 邦幫忙鐵人賽
回列表
自我挑戰組

易讀程式之美學 系列

鐵人鍊成 | 共 30 篇文章 | 33 人訂閱 訂閱系列文 團隊好想工作室第二屆鐵人賽
DAY 1

程式碼應該易於理解

可讀性基本定理 這是什麼意思?很簡單,找個一般能力的同事,測量他們理解程式碼需要的時間,這就是撰寫程式時希望縮短的理論值。 「理解」的要求非常高,完全理解程式碼...

2018-10-16 ‧ 由 mark9462 分享
DAY 2

富含資訊的名稱--選擇辭彙

選擇明確且避免「空洞」辭彙,是「富含資訊名稱」的重要原則。 以下範例中的「get」就不夠明確: def GetPage(url): 「get」並沒有表達太多資...

2018-10-17 ‧ 由 mark9462 分享
DAY 3

富含資訊的名稱--避免通用性名稱

tmp、retval或是foo之類的名稱式「懶的想個適當名字」的藉口,應該要「選個能夠說明實體數值或目的的名稱」。 以JavaScript用了retval的函數...

2018-10-18 ‧ 由 mark9462 分享
DAY 4

富含資訊的名稱--優先使用具體名稱而非抽象名稱

假設有個稱為ServerCanStart()的內部方法,作用是檢查伺服器是否能夠傾聽指定的TCP/IP通訊埠,那這樣名稱就太過抽象,具體的名稱可以是直接描述方法...

2018-10-19 ‧ 由 mark9462 分享
DAY 5

富含資訊的名稱--在名稱中加入額外資訊

變數名稱就像是個簡短註解,如果有重要資料是要讓使用者知道,就值得在名稱中加上幾個額外字眼。 String id ; //範例"af84ef845cd...

2018-10-20 ‧ 由 mark9462 分享
DAY 6

富含資訊的名稱--名稱該有多長

最好依變數的使用方式有所不同,但以下原則有助於讀者決定。 較小的範圍適合用較短的名稱 if (debug){ map<string,int> m;...

2018-10-21 ‧ 由 mark9462 分享
DAY 7

富含資訊的名稱--利用名稱格式加入更多意義

底線、破折號以及大寫等方式都能夠在名稱加入額外資訊。 static const int kMaOpenFile = 100; class LogReader{...

2018-10-22 ‧ 由 mark9462 分享
DAY 8

不被誤解的名稱--1

主動察看名稱,自問「別人會怎麼解釋這些名稱?」 下面舉2個範例: Filter() 假設需要撰寫處理資料庫查詢結果的程式: result = Database....

2018-10-23 ‧ 由 mark9462 分享
DAY 9

不被誤解的名稱--2

包含邊界的極值優先使用 min 與 max 假設有個購物車應用程式只允許使用者一次購買十個商品: CART_TOO_BIG_LIMIT = 10 if sho...

2018-10-24 ‧ 由 mark9462 分享
DAY 10

不被誤解的名稱--3

布林值名稱 以下是危險的例子: bool read_password = true; 根據讀法,有2種完全不同的解讀方式: 「需要」讀取密碼 密碼「已經」讀...

2018-10-25 ‧ 由 mark9462 分享