選擇明確且避免「空洞」辭彙,是「富含資訊名稱」的重要原則。
以下範例中的「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 |