從編程語言排行看程序員信仰
原創(chuàng)
2013年12月9日,TIOBE社區(qū)公布了2013年***一個(gè)月的編程語言排行榜。和往年一樣,每個(gè)月的編程語言排行榜都獲得了程序員群體的火熱圍觀。***年從事編輯工作的小編,著實(shí)被大家的“壯舉”震撼到了。
男大當(dāng)婚,女大當(dāng)嫁。當(dāng)了程序員的是不是就一定會(huì)去猛戳編程語言排行榜的鏈接?程序員群體對(duì)于編程語言的宗教般信仰指數(shù),不可小覷?;蛟S,一句話,或是一個(gè)瞬間,會(huì)讓我們明白很多。
不知道大家有沒有看過《人間正道是滄?!?,瞿恩有句話是這么說的:“這世界上,夢(mèng)想有兩種,***種,我實(shí)現(xiàn)了自己的夢(mèng)想。第二種,夢(mèng)想因我而實(shí)現(xiàn),縱然失去了自己的生命。”因此,我就想到了“信仰”一詞,然后,又突然想到,程序員是不是也應(yīng)該有自己的信仰呢?各種各樣的程序員,每天都在敲著各種各樣的代碼,到底有沒有一個(gè)信念能夠?qū)⑺谐绦騿T拉在一起。
比如:
有的人把代碼當(dāng)樂趣,只要讓他寫代碼,比做什么都開心。
有的人純粹把代碼當(dāng)作任務(wù),養(yǎng)家糊口的本錢。
有的人視代碼為寵物,精心呵護(hù),容不下一絲瑕疵。
有的人視代碼為工具,只要能用就行,管他擴(kuò)展性和維護(hù)性。
有的人會(huì)說,我做了單元測(cè)試,沒有發(fā)現(xiàn)什么問題。你要是發(fā)現(xiàn)bug一定要告我。
有的人會(huì)說,這代碼沒問題的,都運(yùn)行兩年的代碼了,沒必要測(cè)了。
這兩三年,程序員群體基數(shù)迅速擴(kuò)張,這本是一件好事;但“基層”程序員卻奇怪的陷入了“斯德哥爾摩”癥候群!為什么這么說?因?yàn)槌绦騿T信仰指數(shù)在逐漸流失。就如同罪案現(xiàn)場(chǎng)人質(zhì)“同情”起了綁匪,“屌絲心理”如病毒般肆意蔓延,吞噬了新新程序員的斗志,并產(chǎn)生認(rèn)同感。因此,入行前***多問問自己。
首先, 問問自己,是否真的喜歡寫代碼這樣枯燥的工作。如果不是,你可以試著考慮換份工作。
假如你非常喜歡寫代碼,那我又要問了:
你覺得寫代碼的樂趣在哪里?
說實(shí)話,我曾被問過這個(gè)問題。首先,這個(gè)問題其實(shí)問的非常好,這是一個(gè)程序員進(jìn)行自我剖析的好問題。同時(shí),這個(gè)問題又非常難以回答。 就像問到為什么愛一個(gè)人,八成有人回答沒有任何理由。的確,愛就是愛,不愛就是不愛,如果非要說個(gè)喜歡寫代碼理由,我想應(yīng)該是喜歡優(yōu)美的代碼旋律在手上鍵指如飛的感覺,可以在有限的鍵盤按鍵中,敲出無窮無盡美妙旋律。
有時(shí)在想,偏激未必是一件壞事。 信奉敏捷開發(fā)的人,理性一些來講,有些東西的確有些偏激。比如,博客園上曾經(jīng)有人討論過,早上站立會(huì)議是否必須站著的問題,任何一個(gè)函數(shù)都不能超過10行,一個(gè)測(cè)試案例只能有一個(gè)斷言檢查。在理性的偏激下,往往能夠更加激發(fā)人的潛能。在合理的情況下,形成一些近乎偏激的程序員信仰,我覺得還是有必要的。
這里,小編匯總幾條在之前看到箴言,希望大家能一起來補(bǔ)充??纯次覀兙烤鼓芰谐龆嗌贄l。
1. 自己的代碼必須進(jìn)行單元測(cè)試
不管是產(chǎn)品代碼還是測(cè)試代碼,都必須編寫單元測(cè)試案例。產(chǎn)品代碼進(jìn)行單元測(cè)試就不用說了,測(cè)試代碼進(jìn)行單元測(cè)試也是非常重要的!測(cè)試代碼本身都有問題,被測(cè)代碼的測(cè)試結(jié)果又從何談起。
2. 不要將狗食留給別人
不要將一大堆設(shè)計(jì)復(fù)雜,邏輯混亂,難以理解,根本無法維護(hù)的代碼留給別人,你要想象著如何讓自己的代碼交到別人手里能夠獲得一些稱贊。
3. 避免過度設(shè)計(jì),保持簡(jiǎn)單,以及其擴(kuò)展性
代碼不是寫給機(jī)器看的,也不是用來炫耀你的復(fù)雜設(shè)計(jì)的。保持簡(jiǎn)單,容易理解,同時(shí)又保持其可擴(kuò)展性非常重要。
4. 認(rèn)真給代碼的每一個(gè)文件,每一個(gè)函數(shù),每一個(gè)變量命名
想到得到別人的尊敬,必須仔細(xì)考慮每個(gè)變量的命名,使用統(tǒng)一的命名規(guī)范,使用容易理解沒有歧義的命名方式。有的人太隨意了,打開金山詞霸,不管三七二十一,將中文詞語一翻譯就拿來用。有的人命名,又是拼音又是英文,大小寫混亂,縮寫和使用全稱不統(tǒng)一。
5. 不要那么容易被說服,要據(jù)理力爭(zhēng)
特別是面對(duì)上級(jí),不要糊里糊涂的被說服。首先,你要充分的理解別人的想法,然后,你要清楚的表達(dá)出你的觀點(diǎn)。有的人特別能說服人,特別能繞,千萬別被繞暈了然后點(diǎn)頭稱是。
6. 處理好你的程序依賴
一個(gè)依賴混亂,或是循環(huán)依賴的系統(tǒng)是難以維護(hù)和擴(kuò)展的。所以,當(dāng)你準(zhǔn)備設(shè)計(jì)一系列公共庫(kù),想好他們之間的依賴關(guān)系吧。這是基本的原則,絕對(duì)不允許違反的。
7. 不要因?yàn)槁闊┒捎贸舐膶?shí)現(xiàn)方式。
8. KISS = Keep It Simple and Stupid
簡(jiǎn)單就是美,保持簡(jiǎn)單,讓用戶容易理解,同時(shí)也讓看你代碼的人容易理解。
9. DRY = Don't Repeat Yourself
程序員修煉之道提出的原則,不要做重復(fù)的事情,程序員應(yīng)該學(xué)會(huì)偷懶,避免重復(fù),增加復(fù)用。
如果你也有一起其他的深切感受,可以拿出來和大家一起分享。