下列程式的註解都沒有必要:
// 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);
程式設計師應該遵守這個原則:
好程式 > 壞程式 + 好註解