|
老婆經(jīng)常夸我有想法,得益于老婆大人的鼓勵(lì),我才打算將自己平時(shí)所想,所總結(jié)的東西寫下來(lái)。人是需要不斷總結(jié)的,有總結(jié)才會(huì)有進(jìn)步。所謂總結(jié),并不一定是多么高深的道理,多么復(fù)雜的推論,也并不一定要長(zhǎng)篇大論。有時(shí),一句話,或是一個(gè)瞬間,會(huì)讓你明白很多。
首先,嚴(yán)格來(lái)說,我并不是一個(gè)程序員,我所從事的是測(cè)試開發(fā)工作,但是我接觸過各種各樣,形形色色的開發(fā)人員。
有的人把代碼當(dāng)樂趣,只要讓他寫代碼,比做什么都開心。
有的人純粹把代碼當(dāng)作任務(wù),養(yǎng)家糊口的本錢。
有的人視代碼為寵物,精心呵護(hù),容不下一絲瑕疵。
有的人視代碼為工具,只要能用就行,管他擴(kuò)展性和維護(hù)性。
有的人會(huì)說,我做了單元測(cè)試,沒有發(fā)現(xiàn)什么問題。你要是發(fā)現(xiàn)bug一定要告我。
有的人會(huì)說,這代碼沒問題的,都運(yùn)行兩年的代碼了,沒必要測(cè)了。
……
最近每天都在看《人間正道是滄桑》,瞿恩有句話印象深刻,“這世界上,夢(mèng)想有兩種,第一種,我實(shí)現(xiàn)了自己的夢(mèng)想。第二種,夢(mèng)想因我而實(shí)現(xiàn),縱然失去了自己的生命。” 因此,我就想到了“信仰”一詞,然后,又突然想到,程序員是不是也應(yīng)該有自己的信仰呢?各種各樣的程序員,每天都在敲著各種各樣的代碼,到底有沒有一個(gè)信念能夠?qū)⑺谐绦騿T拉在一起。
首先, 問問自己,是否真的喜歡寫代碼這樣枯燥的工作。如果不是,我勸你還是換份工作。
假如你非常喜歡寫代碼,那我又要問了:
你覺得寫代碼的樂趣在哪里?
說實(shí)話,我曾被問過這個(gè)問題。首先,這個(gè)問題其實(shí)問的非常好,這是一個(gè)程序員進(jìn)行自我剖析的好問題。同時(shí),這個(gè)問題又非常難以回答。 就像問到為什么愛一個(gè)人,八成有人回答沒有任何理由。的確,愛就是愛,不愛就是不愛,如果非要說個(gè)喜歡寫代碼理由,我想應(yīng)該是喜歡優(yōu)美的代碼旋律在手上鍵指如飛的感覺,可以在有限的鍵盤按鍵中,敲出無(wú)窮無(wú)盡美妙旋律。
有時(shí)在想,偏激未必是一件壞事。 信奉敏捷開發(fā)的人,理性一些來(lái)講,有些東西的確有些偏激。比如,博客園剛有人討論的早上站立會(huì)議必須站著的問題,任何一個(gè)函數(shù)都不能超過10行,一個(gè)測(cè)試案例只能有一個(gè)斷言檢查。在理性的偏激下,往往能夠更加激發(fā)人的潛能。在合理的情況下,形成一些近乎偏激的程序員信仰,我覺得還是有必要的。
這里,我開個(gè)頭,列出幾條箴言,希望大家能一起來(lái)補(bǔ)充。看看我們究竟能列出多少條。
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ù)雜,邏輯混亂,難以理解,根本無(wú)法維護(hù)的代碼留給別人,你要想象著如何讓自己的代碼交到別人手里能夠獲得一些稱贊。
3. 避免過度設(shè)計(jì),保持簡(jiǎn)單,以及其擴(kuò)展性
代碼不是寫給機(jī)器看的,也不是用來(lái)炫耀你的復(fù)雜設(shè)計(jì)的。保持簡(jiǎn)單,容易理解,同時(shí)又保持其可擴(kuò)展性非常重要。
4. 認(rèn)真給代碼的每一個(gè)文件,每一個(gè)函數(shù),每一個(gè)變量命名
想到得到別人的尊敬,必須仔細(xì)考慮每個(gè)變量的命名,使用統(tǒng)一的命名規(guī)范,使用容易理解沒有歧義的命名方式。有的人太隨意了,打開金山詞霸,不管三七二十一,將中文詞語(yǔ)一翻譯就拿來(lái)用。有的人命名,又是拼音又是英文,大小寫混亂,縮寫和使用全稱不統(tǒng)一。
5. 不要那么容易被說服,要據(jù)理力爭(zhēng)
特別是面對(duì)上級(jí),不要糊里糊涂的被說服。首先,你要充分的理解別人的想法,然后,你要清楚的表達(dá)出你的觀點(diǎn)。有的人特別能說服人,特別能繞,千萬(wà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)方式。
這個(gè)列表我會(huì)持續(xù)更新,上面提的幾點(diǎn)都是我的深切感受。如果你也有一起其他的深切感受,請(qǐng)告訴我。
it知識(shí)庫(kù):程序員的信仰,轉(zhuǎn)載需保留來(lái)源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。