程式設計師特有的9個壞習慣

Web開發者發表於2012-07-18

0. 程式設計師數數會從0開始數起.

  例:程式設計師吵 架的時候會說:“我數三下,你再不閉嘴我就不客氣了! 零! 一! 二!” 或者列清單的時候編號會從0.開始寫。

  因:array[0]是陣列的第一個元素。

  評:這個習慣的養成是一個艱難的過程。多少次的越界,多少次的迴圈次數錯誤讓我們深深的記住了從0開始。

1. 程式設計師用肯定和否定 回答選擇性的問題

  例:問 “您想喝咖啡還是喝茶?” 程式設計師答:“嗯.”

  因:當條件或||有一個子句值為真,則整個語句值為真。

  評:這個習慣誇張了一點, 但這的確是程式設計師思維方式的通病,用計算機的處理邏輯處理人類問題。當然這樣的回答顯然是存在程式設計錯誤的,因為對於這個問題他錯誤的返回了布林型的值。雖然高度懷疑有沒有人關心這種回答的結果是怎樣,還是給出一個答案. 如果真的在程式的世界裡,服務員會優先考慮給你咖啡,如果沒有咖啡了,才會端茶給你。

2. 程式設計師普遍患有或曾經患有分號結尾綜合症

  例:比如這幾行;

  因:大部分程式,特別是多數程式設計師的啟蒙程式語言C語言是用分號結尾語句的;

  評: 換行之前習慣用分號結尾, 這是程式設計師專屬的壞習慣. 還記得編譯報的各種詭異的錯最後原因總是少了那一個小小的”;”嗎? 這就是這個壞習慣的成因. 據說分號結尾是有典故的, 因為鍵盤上的分號正好在右手小拇指的位置, 比起句號之類有著得天獨厚的地理優勢. 當然也有不需要分號結尾的程式語言(比如Ruby還有Python), 剛用起來會因為沒有分號結尾而格外糾結。

3. 程式設計師對”語言”的概念和普通人有差

  例:問:“你都會哪些語言?” 普通人:“我會漢語和英語, 還會一點點法語。”  程式設計師:“我會C語言,C++ 和 Java,還會一點點Ruby。”

  因:程式設計師的世界裡沒有母語和外語, 只有程式語言。

  評:說真的,程式語言的語法學起來比外語更容易,拿到一個用沒學過的語言寫的程式,你多少可以看懂部分程式。程式語言沒有國界,是各國程式設計師交流最好的橋樑。

4. 程式設計師格格外外的厭惡括號/引號不配對的情形

  例:看到這樣的內容 (舉個簡單的例子(我知道你懂的),你能表示”我很淡定我不抓狂嗎?

  因:各種不配對問題會導致編譯錯誤。

  評:掃視程式碼,對不配對的情況異常敏感,瞥一眼就能發現哪裡少了個右括號。這種症狀在使用那些帶自動補全功能的開發環境時變得更為糾結。

5. 程式設計師認為 千(k) == 1024

  例:程式設計師換算表: 1km == 1024m, 1kg == 1024g

  因:成因很曲折 計算機是二進位制的世界 -> 1024是2的10次方 -> 英語裡用kilo一詞來表示 -> kilo翻譯成中文是”千”, 比如千米, 千克。

  評:也許一般人會認為500,1000是很整的數,但程式設計師會覺得512,1024是很整的數.不要奇怪,如果128,256,512這種形式看著不夠整,幫你轉換成二進位制: 10000000,100000000,1000000000…

6. 程式設計師慣用 == 來表示相等的意思

  例:見5,

  因:在程式語言中,“=” 是賦值,“==” 才用來判斷二者是否相等。

  評:單等和雙等的區別是程式入門必修課,也是老師愛考的考點。如果在C語言if語句的判定條件裡寫了個單等,編譯能通過,結果卻往往不對,夠一個新手查上一陣子的。當然目前的語言大都考慮到這一點,防止了這類的誤寫,但是單等和雙等的差異已經深入每個程式設計師的 內心。

7. 程式設計師使用”//”表示”請無視這一行文字”

  例:餐廳中。程式設計師A:“我吃魚香肉絲蓋飯,你吃什麼?”

  程式設計師B:“宮保雞丁蓋飯。”

  程式設計師A 在點選單寫上:

  魚香肉絲蓋飯 1

  宮保雞丁蓋飯 1

  程式設計師B:“我還是要牛肉麵吧!”

  程式設計師A 更正點選單:

  魚香肉絲蓋飯 1

  // 宮保雞丁蓋飯 1

  牛肉麵 1

  因:程式中用”//”為程式碼加上註釋, 程式執行時會無視掉”//”開頭的程式碼行。

  評:如果和一夥程式設計師在一起時被冷落了,可以抱怨一句”喂喂餵我是被註釋掉了嗎?” 相信一向以幽默感豐富又有愛心著稱的程式設計師們會關注你的。

8. 程式設計師有 中文標點恐懼症

  例:如果你注意到了,這篇文章自始至終都在使用英文標點,這就是最好的例子。

  因:程式中的全部符號都嚴格需要是英文半形標點。

  評:這個壞習慣是有中國特色的,中國程式設計師特 有的。任何一名優秀的我國程式設計師都應該可以作到區別中文標點和英文標點。比如, 和,還有 ’和 ‘。真的,當年初學程式設計的時候,諸如 “error C2018: unknown character ’0xa3′” 的錯誤看得還不夠多嗎!

  就是這樣一群人,如果你慢吞吞的用電腦他們會急躁的搶過鍵盤熟練的使用各種快捷鍵,他們會對著小孩子講計算機的三原色是紅綠藍而不是紅黃藍,他們描述大小距離更偏向於以畫素作單位,陪女朋友看電影看到電影院座位上稀稀落落的人就想做磁碟碎片整理…抱怨歸抱怨,這不也正是他們的可愛之處嗎!

相關文章