iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 2
0
自我挑戰組

易讀程式之美學系列 第 2

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

  • 分享至 

  • xImage
  •  

選擇明確且避免「空洞」辭彙,是「富含資訊名稱」的重要原則。
以下範例中的「get」就不夠明確:

def GetPage(url):

「get」並沒有表達太多資訊,這個方法是從本地端快取、資料庫或是網際網路取得頁面內容?如果是從網際網路,FetchPage()或DownloadPage()可能更為明確。
以下是BinaryTree類別的範例:

class BinaryTree{
int Size();
...
};

讀者覺得Size()方法的回傳值是什麼?樹的高度、節點數或是佔用的記憶體空間?
問題在於Size()包含的資訊不足,Heigh()、NumNodes()或MemoryBtes()等都是更明確的名稱。

下一個範例是某個Thread類別:

class Thread{
void Stop();
...
};

Stop()這個名字不錯,但根據它實際的行為,可能有更明確的名稱。例如,如果是無法復原的操作,可以將它稱為kill();如果有辦法Resume(),那就可以稱為Pause()。

找尋更加「鮮明」的辭彙

以下是一些辭彙的範例,讀者可以依據自身情況使用較為「鮮明」版本:

Word辭彙 Alternatives替代辭彙
send deliver、dispatch、announce、distribute、route
find search、extract、locate、recover
start launch、create、begin、open
make create、set up、build、generate、compose、add、new

Reference

  • <<易讀程式之美學-提升程式碼可讀性的簡單法則 >>(The Art of Readable Code)

上一篇
程式碼應該易於理解
下一篇
富含資訊的名稱--避免通用性名稱
系列文
易讀程式之美學30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言