程式設計師!這5種讓人鬱悶的程式注釋方式千萬要避開!

2021-10-18 15:43:40 字數 3183 閱讀 8243

你是否有過複查程式時發現有些注釋毫無用處?程式注釋是為了提高**的可讀性,為了讓原作者以外的其他開發人員更容易理解這段程式。

我把這些讓人鬱悶的注釋方式歸為了五類,同時把寫出這些注釋的程式設計師也歸為了五類。我希望讀了這篇文章後你感覺自己不屬於其中的任何一種型別。

複製****如下:

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

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;

如果你不得不在注釋裡寫明需求,那也不要提到人名。銷售員jim很可能在公司裡不再是銷售。而且大多數讀到這段注釋的程式設計師未必都知道jim是誰。你描述的是實際情況但跟我們的內容不相干,所以就省掉吧。

複製****如下:

public class program

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);

這種注釋是一種集大成者,它包含了上面所說的注釋的所有問題。todo注釋在乙個專案最初的開發階段是非常有用的,但這個注釋看起來是在好幾年前的產品程式裡的——它證明了程式有問題。如果程式有問題需要解決,馬上解決,不要拖到日後再解決。

如果你寫過這樣的注釋,或者是你正在尋找一種最好的注釋方案,我推薦你讀一讀steve mcconnell寫的code complete這本書。這是我推薦給所有程式設計師必讀的六本書中的一種。或者你可以學學如何停止注釋你的程式(英文)。

你是否在你的程式裡還見到過其它種沒有意義的或討厭的注釋?歡迎共享。

程式設計師的鬱悶事

我以前在大學是學c 的,畢業了因為沒有工作經驗,就隨便找了個網路公司,可是是用php的,所以學起這個東西了,說實話,也不是太難,但是就這幾天,不知道怎麼回事,一直都可糊塗,來,乙個乙個說吧!我還在學校住呢,所以早上來公司一般就我來的早了,公司在,我決定為了鍛鍊身體,就爬樓梯了,爬的可累了,終於到了,...

「程式美術員」 讓程式設計師成為半個美術人?!

這十年時間裡,我一直都在為美工們開發視效工具還有遊戲引擎,並且一直相信 程式設計師美工 和 真正的遊戲美工 是兩個世界的人。同時,我還注意到那些會對 程式設計師美術 說ok的人往往只有其他程式設計師。不管你的遊戲多有趣,或者你的techdemo在技術上多牛x,那些不是程式設計師的人們看到你的東西時,...

這該死的程式設計師

喜歡你的工作嗎?有個小姑娘這麼問我,偶像,你喜歡你的工作嗎?我感覺我是其他都不會,沒辦法,才來寫前端的。我思索了一下,回道,談不上喜歡,也談不上討厭,它只是個工作,碰巧會這個而已。她又問,那以後呢?我問,你意思是不喜歡後怎麼辦是嗎?還是說,其實現在就不怎麼喜歡?她說,是啊,現在不怎麼喜歡,然後也就沒...