你是否有過複查程式時發現有些注釋毫無用處?程式注釋是為了提高**的可讀性,為了讓原作者以外的其他開發人員更容易理解這段程式。
我把這些讓人鬱悶的注釋方式歸為了五類,同時把寫出這些注釋的程式設計師也歸為了五類。我希望讀了這篇文章後你感覺自己不屬於其中的任何一種型別。
複製****如下:
public class program這種程式設計師是如此的欣賞自己的程式,以至於不得不在每行**上都署上自己的大名。應該讓版本控制系統來提供程式變更的資訊,他這樣做一眼看去並不能說明誰對這行**負責。static void main(string args)
string message = 「hello world!」; // 07/24/2010 bob
console.writeline(message); // 07/24/2010 bob
message = 「i am so proud of this code!」; // 07/24/2010 bob
console.writeline(message); // 07/24/2010 bob
複製****如下:
public class program如果一段程式不再有用(比如廢棄了),那就刪了它吧——不要被幾行沒用的注釋搞的程式混亂不堪。即使你可能以後重用這段**,你也可以使用版本控制系統,用它把你的程式恢復到以前的樣子。static void main(string args)
/* 這段程式已經不再有用
* 因為我們發現千年蟲問題只是一場虛驚
* 我們的系統不會恢復到1/1/1900 */
//datetime today = datetime.today;
//if (today == new datetime(1900, 1, 1))
// today = today.addyears(100);
// string message = 「the date has been fixed for y2k.」;
// console.writeline(message);
複製****如下:
public class program基本的程式設計語法規則我們大家都知道——我們不需要「程式設計入門」。你不需要浪費時間來解釋乙個顯而易見的東西,我們更希望知道的是你的程式功能——那是浪費空間了。static void main(string args)
/* 這個程式是用來在螢幕上
* 迴圈列印1百萬次」i rule!」
* 每次輸出一行。迴圈計數
* 從0開始,每次加1。
* 當計數器等於1百萬時,
* 迴圈就會停止執行*/
for (int i = 0; i < 1000000; i++)
console.writeline(「i rule!」);
如果你正在學習c/c++遇到瓶頸,迷茫,困惑,那麼不妨加入c語言c++學習企鵝圈子
複製****如下:
public class program如果你不得不在注釋裡寫明需求,那也不要提到人名。銷售員jim很可能在公司裡不再是銷售。而且大多數讀到這段注釋的程式設計師未必都知道jim是誰。你描述的是實際情況但跟我們的內容不相干,所以就省掉吧。static void main(string args)
/* 有一天我在大街上的一家星巴克裡
* 和銷售部的jim討論問題,他告訴我
* 銷售代表是依據以下的比例提取佣金的。
* 周五: 25%
* 週三: 15%
* 其它日期: 5%
* 我是否告訴你過我點了乙個卡拉梅
* 鐵咖啡和兩份的espresso?
double price = 5.00;
double commissionrate;
double commission;
if (datetime.today.dayofweek == dayofweek.friday)
commissionrate = .25;
else if (datetime.today.dayofweek == dayofweek.wednesday)
commissionrate = .15;
else
commissionrate = .05;
commission = price * commissionrate;
複製****如下:
public class program這種注釋是一種集大成者,它包含了上面所說的注釋的所有問題。todo注釋在乙個專案最初的開發階段是非常有用的,但這個注釋看起來是在好幾年前的產品程式裡的——它證明了程式有問題。如果程式有問題需要解決,馬上解決,不要拖到日後再解決。static void main(string args)
//todo: 將來我會修復這個問題 – 07/24/1995 bob
/* 我知道這個問題很難解決而且
* 我現在依賴於這個contains函式,但
* 我以後會用一種更有意義,更
* 優雅的方式列印這段**。
* 我只是現在沒時間。
string message = 「an error has occurred」;
if(message.contains(「error」))
throw new exception(message);
如果你寫過這樣的注釋,或者是你正在尋找一種最好的注釋方案,我推薦你讀一讀steve mcconnell寫的code complete這本書。這是我推薦給所有程式設計師必讀的六本書中的一種。或者你可以學學如何停止注釋你的程式(英文)。
你是否在你的程式裡還見到過其它種沒有意義的或討厭的注釋?歡迎共享。
程式設計師的鬱悶事
我以前在大學是學c 的,畢業了因為沒有工作經驗,就隨便找了個網路公司,可是是用php的,所以學起這個東西了,說實話,也不是太難,但是就這幾天,不知道怎麼回事,一直都可糊塗,來,乙個乙個說吧!我還在學校住呢,所以早上來公司一般就我來的早了,公司在,我決定為了鍛鍊身體,就爬樓梯了,爬的可累了,終於到了,...
「程式美術員」 讓程式設計師成為半個美術人?!
這十年時間裡,我一直都在為美工們開發視效工具還有遊戲引擎,並且一直相信 程式設計師美工 和 真正的遊戲美工 是兩個世界的人。同時,我還注意到那些會對 程式設計師美術 說ok的人往往只有其他程式設計師。不管你的遊戲多有趣,或者你的techdemo在技術上多牛x,那些不是程式設計師的人們看到你的東西時,...
這該死的程式設計師
喜歡你的工作嗎?有個小姑娘這麼問我,偶像,你喜歡你的工作嗎?我感覺我是其他都不會,沒辦法,才來寫前端的。我思索了一下,回道,談不上喜歡,也談不上討厭,它只是個工作,碰巧會這個而已。她又問,那以後呢?我問,你意思是不喜歡後怎麼辦是嗎?還是說,其實現在就不怎麼喜歡?她說,是啊,現在不怎麼喜歡,然後也就沒...