程式設計師應該避免寫注釋

2021-06-22 22:44:32 字數 1259 閱讀 9491

「程式設計師工作效率有多高,取決於他大腦中對當前專案的熟悉程度,即變數名稱、資料結構、程式設計介面以及工具類甚至是目錄等,這些細節記住的越多,效率也越高。」

我們寫注釋的目的不是說這段**如何執行,而是想解釋為什麼要這麼執行,這也正是與其研究**、研究注釋,不如研究寫下這些**的人,借用一下阿特伍德的部落格原文中的例子:

r = n / 2;

while ( abs( r - (n/r) ) > t )

system.out.println( "r = " + r );

// 用「牛頓-拉夫遜」近似法求解n的平方根

r = n / 2;

while ( abs( r - (n/r) ) > t )

system.out.println( "r = " + r );

這麼一來注釋的作用就完成體現出來了,但是如果不用注釋呢?像這樣:

r = n / 2;

while ( abs( r - (n/r) ) > t )

return r;

}

「我一行注釋也沒有加,但這段神秘的**現在已經非常容易理解了。」

我們每個人在專案中應該都有遇到過這樣的事情,與其讓他寫下一堆注釋,不如告訴他命名的重要性,能完全、準確地描述所代表的事物,這無疑能提高整個專案的可讀性。在命名方面也有一些陷阱,如果乙個命名不能做到準確的命名,這就和一段錯誤的注釋描述正確的行為一樣讓人更加費解,而且如果你在命名乙個類時沒有考慮太多,在後期發覺不好,要更換名稱的時候會很麻煩,你可能要改標頭檔案的名稱、實現檔案的名稱,各種呼叫以及匯入的地方,甚至是建立檔案時自動生成的一點注釋,就這要求我們在建立乙個類和方法時,頭腦中至少要對將要做的事情「優化」好幾遍,能準確無誤的表達自己想表達的東西,對一些人來說,這個過程會很累,但確實是有必要。

對命名使用準確的對仗詞,有助於保持**一致性,最終提高可讀性。針對變數使用的對仗詞:

針對方法名使用的對仗詞:

對於子程式(方法實現)過長的情況,要檢查子程式的設計以及實現是否合理,必要的時候把子程式拆分為多個子程式,保持每個子程式的高內聚性(只做好一件事)總是有好處的。

《千萬不要把 bool 當成函式引數

》這篇文章提出的問題很有意思,對於布林變數,可以給布林變數賦予隱含「真假」含義的名字。

最後,對你自己寫下的**,不要心存畏懼,不要把它塵封在那裡,保持它的活躍度,在適當的時間對它進行重構,如果要問重構到什麼地步,那就是:到你沒時間重構為止

程式設計師要避免的五種程式注釋方式

全文如下 你是否有過複查程式時發現有些注釋毫無用處?程式注釋是為了提高 的可讀性,為了讓原作者以外的其他開發人員更容易理解這段程式。和這篇講到的五種程式設計師對比一下。1.高傲的程式設計師 public classprogram 這種程式設計師是如此的欣賞自己的程式,以至於不得不在每行 上都署上自己...

程式設計師應該讀的書

第1名 1306票 code complete 2nd ed by steve mcconnell 中文版 大全 第二版 第2名 1161票 the pragmatic programmer 中文版 程式設計師修煉之道 第3名 689票 structure and interpretation of...

程式設計師應該讀的書

第1名 1306票 code complete 2nd ed by steve mcconnell 中文版 大全 第二版 第2名 1161票 the pragmatic programmer 中文版 程式設計師修煉之道 第3名 689票 structure and interpretation of...