從程式語言排行看程式設計師信仰

發表於2019-05-11

2013年12月9日,TIOBE社群公佈了2013年最後一個月的程式語言排行榜。和往年一樣,每個月的程式語言排行榜都獲得了程式設計師群體的火熱圍觀。第一年從事編輯工作的小編,著實被大家的“壯舉”震撼到了。


男大當婚,女大當嫁。當了程式設計師的是不是就一定會去猛戳程式語言排行榜的連結?程式設計師群體對於程式語言的宗教般信仰指數,不可小覷。或許,一句話,或是一個瞬間,會讓我們明白很多。


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


比如:


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

有的人純粹把程式碼當作任務,養家餬口的本錢。

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

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

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

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


這兩三年,程式設計師群體基數迅速擴張,這本是一件好事;但“基層”程式設計師卻奇怪的陷入了“斯德哥爾摩”症候群!為什麼這麼說?因為程式設計師信仰指數在逐漸流失。就如同罪案現場人質“同情”起了綁匪,“屌絲心理”如病毒般肆意蔓延,吞噬了新新程式設計師的鬥志,併產生認同感。因此,入行前最好多問問自己。


首先, 問問自己,是否真的喜歡寫程式碼這樣枯燥的工作。如果不是,你可以試著考慮換份工作。


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


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


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


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


這裡,小編彙總幾條在之前看到箴言,希望大家能一起來補充。看看我們究竟能列出多少條。


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

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


2. 不要將狗食留給別人

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


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

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


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

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


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

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


6. 處理好你的程式依賴

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


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


8. KISS = Keep It Simple and Stupid

簡單就是美,保持簡單,讓使用者容易理解,同時也讓看你程式碼的人容易理解。


9. DRY = Don't Repeat Yourself

程式設計師修煉之道提出的原則,不要做重複的事情,程式設計師應該學會偷懶,避免重複,增加複用。

如果你也有一起其他的深切感受,可以拿出來和大家一起分享。

評論(2)

相關文章