iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 14
0

不該註解的部份

下列程式的註解都沒有必要:

// Account 的類別定義
class Account{
  public:
  // 建構子
  Account();
  
  // 將profit成員設為新值
  void SetProfit(double profit);
  
  // 傳回這個 Account 的 profit
  double GetProfit();
};

不要註解那些能很快從程式碼中知道的事實

不要為了註解而註解

// 在給定的 subtree 找指定的 name,最多找到 depth 層
Node* FindNodeInSubtree(Node* subtree, string name, int depth);

函數宣告與註解幾乎完全相同,應該刪除註解或是改善內容。

如果真的想要註解,可以解釋更多實作細節:

// 找出有指定 'name' 的 Node 物件或是傳回 NULL 值
// 如果 depth < 0,只會檢查 'subtree'
// 如果 depth == N,只會檢查 'subtree' 以及 N 層內的節點
Node* FindNodeInSubtree(Node* subtree, string name, int depth);

不要註解不好的名稱-直接修正名稱

// 釋放 key 對應的 handle ,並不會影響實際上的 registry
void DeleteRegistry(RegistryKey* Key);

DeleteRegistry()的名字看起來是個危險函數,註解雖然有說明,但是還是會造成誤解,應該改成:

void ReleaseRegistryHandle(RegistryKey* Key);

程式設計師應該遵守這個原則:

好程式 > 壞程式 + 好註解

Reference

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

上一篇
美學--3
下一篇
認識註解--2
系列文
易讀程式之美學30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言