小議程序員的信仰_.Net教程
推薦:如何實現(xiàn)C#中用鼠標(biāo)移動頁面的功能項目中需要實現(xiàn)以下功能: 打印預(yù)覽控件中,可以用鼠標(biāo)拖動頁面,以查看超出顯示范圍之外的部分內(nèi)容。 該功能本來可以通過拉動水平和垂直滾動條來實現(xiàn),但實際使用中,用戶更趨向于直接用鼠標(biāo)拖動頁面來實現(xiàn),很多看圖類軟件都有這種類似的功能。而.net的打
老婆經(jīng)常夸我有想法,得益于老婆大人的鼓勵,我才打算將自己平時所想,所總結(jié)的東西寫下來。人是需要不斷總結(jié)的,有總結(jié)才會有進步。所謂總結(jié),并不一定是多么高深的道理,多么復(fù)雜的推論,也并不一定要長篇大論。有時,一句話,或是一個瞬間,會讓你明白很多。
首先,嚴(yán)格來說,我并不是一個程序員,我所從事的是測試開發(fā)工作,但是我接觸過各種各樣,形形色色的開發(fā)人員。
有的人把代碼當(dāng)樂趣,只要讓他寫代碼,比做什么都開心。
有的人純粹把代碼當(dāng)作任務(wù),養(yǎng)家糊口的本錢。
有的人視代碼為寵物,精心呵護,容不下一絲瑕疵。
有的人視代碼為工具,只要能用就行,管他擴展性和維護性。
有的人會說,我做了單元測試,沒有發(fā)現(xiàn)什么問題。你要是發(fā)現(xiàn)bug一定要告我。
有的人會說,這代碼沒問題的,都運行兩年的代碼了,沒必要測了。
……
最近每天都在看《人間正道是滄桑》,瞿恩有句話印象深刻,“這世界上,夢想有兩種,第一種,我實現(xiàn)了自己的夢想。第二種,夢想因我而實現(xiàn),縱然失去了自己的生命。” 因此,我就想到了“信仰”一詞,然后,又突然想到,程序員是不是也應(yīng)該有自己的信仰呢?各種各樣的程序員,每天都在敲著各種各樣的代碼,到底有沒有一個信念能夠?qū)⑺谐绦騿T拉在一起。
首先, 問問自己,是否真的喜歡寫代碼這樣枯燥的工作。如果不是,我勸你還是換份工作。
假如你非常喜歡寫代碼,那我又要問了:
你覺得寫代碼的樂趣在哪里?
說實話,我曾被問過這個問題。首先,這個問題其實問的非常好,這是一個程序員進行自我剖析的好問題。同時,這個問題又非常難以回答。 就像問到為什么愛一個人,八成有人回答沒有任何理由。的確,愛就是愛,不愛就是不愛,如果非要說個喜歡寫代碼理由,我想應(yīng)該是喜歡優(yōu)美的代碼旋律在手上鍵指如飛的感覺,可以在有限的鍵盤按鍵中,敲出無窮無盡美妙旋律。
有時在想,偏激未必是一件壞事。 信奉敏捷開發(fā)的人,理性一些來講,有些東西的確有些偏激。比如,博客園剛有人討論的早上站立會議必須站著的問題,任何一個函數(shù)都不能超過10行,一個測試案例只能有一個斷言檢查。在理性的偏激下,往往能夠更加激發(fā)人的潛能。在合理的情況下,形成一些近乎偏激的程序員信仰,我覺得還是有必要的。
這里,我開個頭,列出幾條箴言,希望大家能一起來補充。看看我們究竟能列出多少條。
1. 自己的代碼必須進行單元測試
不管是產(chǎn)品代碼還是測試代碼,都必須編寫單元測試案例。產(chǎn)品代碼進行單元測試就不用說了,測試代碼進行單元測試也是非常重要的!測試代碼本身都有問題,被測代碼的測試結(jié)果又從何談起。
2. 不要將狗食留給別人
不要將一大堆設(shè)計復(fù)雜,邏輯混亂,難以理解,根本無法維護的代碼留給別人,你要想象著如何讓自己的代碼交到別人手里能夠獲得一些稱贊。
3. 避免過度設(shè)計,保持簡單,以及其擴展性
代碼不是寫給機器看的,也不是用來炫耀你的復(fù)雜設(shè)計的。保持簡單,容易理解,同時又保持其可擴展性非常重要。
4. 認(rèn)真給代碼的每一個文件,每一個函數(shù),每一個變量命名
想到得到別人的尊敬,必須仔細(xì)考慮每個變量的命名,使用統(tǒng)一的命名規(guī)范,使用容易理解沒有歧義的命名方式。有的人太隨意了,打開金山詞霸,不管三七二十一,將中文詞語一翻譯就拿拿用。有的人命名,又是拼音又是英文,大小寫混亂,縮寫和使用全稱不統(tǒng)一。
5. 不要那么容易被說服,要據(jù)理力爭
特別是面對上級,不要糊里糊涂的被說服。首先,你要充分的理解別人的想法,然后,你要清楚的表達出你的觀點。有的人特別能說服人,特別能繞,千萬別被繞暈了然后點頭稱是。
6. 處理好你的程序依賴
一個依賴混亂,或是循環(huán)依賴的系統(tǒng)是難以維護和擴展的。所以,當(dāng)你準(zhǔn)備設(shè)計一系列公共庫,想好他們之間的依賴關(guān)系吧。這是基本的原則,絕對不允許違反的。
分享:解析.NET調(diào)PHP Web Service的典型例子最近一個項目由
- asp.net如何得到GRIDVIEW中某行某列值的方法
- .net SMTP發(fā)送Email實例(可帶附件)
- js實現(xiàn)廣告漂浮效果的小例子
- asp.net Repeater 數(shù)據(jù)綁定的具體實現(xiàn)
- Asp.Net 無刷新文件上傳并顯示進度條的實現(xiàn)方法及思路
- Asp.net獲取客戶端IP常見代碼存在的偽造IP問題探討
- VS2010 水晶報表的使用方法
- ASP.NET中操作SQL數(shù)據(jù)庫(連接字符串的配置及獲取)
- asp.net頁面?zhèn)髦禍y試實例代碼
- DataGridView - DataGridViewCheckBoxCell的使用介紹
- asp.net中javascript的引用(直接引入和間接引入)
- 三層+存儲過程實現(xiàn)分頁示例代碼
- 相關(guān)鏈接:
- 教程說明:
.Net教程-小議程序員的信仰
。