程式員的信仰

來源:互聯網
上載者:User

老婆經常誇我有想法,得益於老婆大人的鼓勵,我才打算將自己平時所想,所總結的東西寫下來。人是需要不斷總結的,有總結才會有進步。所謂總結,並不一定是多麼高深的道理,多麼複雜的推論,也並不一定要長篇大論。有時,一句話,或是一個瞬間,會讓你明白很多。

首先,嚴格來說,我並不是一個程式員,我所從事的是測試開發工作,但是我接觸過各種各樣,形形色色的開發人員。

有的人把代碼當樂趣,只要讓他寫代碼,比做什麼都開心。

有的人純粹把代碼當作任務,養家糊口的本錢。

有的人視代碼為寵物,精心呵護,容不下一絲瑕疵。

有的人視代碼為工具,只要能用就行,管他擴充性和維護性。

有的人會說,我做了單元測試,沒有發現什麼問題。你要是發現bug一定要告我。

有的人會說,這代碼沒問題的,都運行兩年的代碼了,沒必要測了。

……

最近每天都在看《人間正道是滄桑》,瞿恩有句話印象深刻,“這世界上,夢想有兩種,第一種,我實現了自己的夢想。第二種,夢想因我而實現,縱然失去了自己的生命。” 因此,我就想到了“信仰”一詞,然後,又突然想到,程式員是不是也應該有自己的信仰呢?各種各樣的程式員,每天都在敲著各種各樣的代碼,到底有沒有一個信念能夠將所有程式員拉在一起。

首先, 問問自己,是否真的喜歡寫代碼這樣枯燥的工作。如果不是,我勸你還是換份工作。

假如你非常喜歡寫代碼,那我又要問了:

你覺得寫代碼的樂趣在哪裡?

說實話,我曾被問過這個問題。首先,這個問題其實問的非常好,這是一個程式員進行自我剖析的好問題。同時,這個問題又非常難以回答。 就像問到為什麼愛一個人,八成有人回答沒有任何理由。的確,愛就是愛,不愛就是不愛,如果非要說個喜歡寫代碼理由,我想應該是喜歡優美的代碼旋律在手上鍵指如飛的感覺,可以在有限的鍵盤按鍵中,敲出無窮無盡美妙旋律。

有時在想,偏激未必是一件壞事。 信奉敏捷開發的人,理性一些來講,有些東西的確有些偏激。比如,部落格園剛有人討論的早上站立會議必須站著的問題,任何一個函數都不能超過10行,一個測試案例只能有一個斷言檢查。在理性的偏激下,往往能夠更加激發人的潛能。在合理的情況下,形成一些近乎偏激的程式員信仰,我覺得還是有必要的。

這裡,我開個頭,列出幾條箴言,希望大家能一起來補充。看看我們究竟能列出多少條。

1. 自己的代碼必須進行單元測試

    不管是產品代碼還是測試代碼,都必須編寫單元測試案例。產品代碼進行單元測試就不用說了,測試代碼進行單元測試也是非常重要的!測試代碼本身都有問題,被測代碼的測試結果又從何談起。

2. 不要將狗食留給別人

    不要將一大堆設計複雜,邏輯混亂,難以理解,根本無法維護的代碼留給別人,你要想象著如何讓自己的代碼交到別人手裡能夠獲得一些稱讚。

3. 避免過度設計,保持簡單,以及其擴充性

    代碼不是寫給機器看的,也不是用來炫耀你的複雜設計的。保持簡單,容易理解,同時又保持其可擴充性非常重要。

4. 認真給代碼的每一個檔案,每一個函數,每一個變數命名

    想到得到別人的尊敬,必須仔細考慮每個變數的命名,使用統一的命名規範,使用容易理解沒有歧義的命名方式。有的人太隨意了,開啟金山詞霸,不管三七二十一,將中文詞語一翻譯就拿來用。有的人命名,又是拼音又是英文,大小寫混亂,縮寫和使用全稱不統一。

5. 不要那麼容易被說服,要據理力爭

    特別是面對上級,不要糊裡糊塗的被說服。首先,你要充分的理解別人的想法,然後,你要清楚的表達出你的觀點。有的人特別能說服人,特別能繞,千萬別被繞暈瞭然後點頭稱是。

6. 處理好你的程式依賴

    一個依賴混亂,或是循環相依性的系統是難以維護和擴充的。所以,當你準備設計一系列公用庫,想好他們之間的依賴關係吧。這是基本的原則,絕對不允許違反的。

7. 不要因為麻煩而採用醜陋的實現方式。

 

作者:CoderZh(CoderZh的技術部落格 - 部落格園)
出處:http://coderzh.cnblogs.com/
文章著作權歸本人所有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文串連,否則保留追究法律責任的權利。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.