成為偉大開發(fā)者的“九步曲”
如何成為一名優(yōu)秀的開發(fā)者?你覺得自己算是一名優(yōu)秀的開發(fā)者嗎?如果是的話,你有沒有考慮過,作為一名優(yōu)秀的開發(fā)者,應(yīng)當(dāng)具備哪些優(yōu)秀的品質(zhì)?原文作者Gregor Riegler 發(fā)表了一篇博文《What makes a great Developer》,文中提到了成就優(yōu)秀開發(fā)者的九大品質(zhì),譯文如下:
一、激情(Passion)
開發(fā)者往往會因每一次成功完成任務(wù)后而感到欣喜,這是因?yàn)楫?dāng)你已經(jīng)掌握并且擁有智能的解決方案時(shí),這些對你來說都是非常的有利。
編程不只是一份工作,它還是一門藝術(shù)、是詩歌。因?yàn)榧で楹蛣?dòng)力才成就成功。軟件開發(fā)行業(yè)不僅巨大,而且發(fā)展也相當(dāng)?shù)目焖。一名好的開發(fā)人員能夠跟得上時(shí)代的步伐,因?yàn)樗廊魏问虑槎伎梢宰龅酶。不斷學(xué)習(xí)新的方法,以滿足饑渴(意思是學(xué)習(xí)永無止境)。
二、好奇心(Curiosity)
通常程序是確定的,因?yàn)樵谟?jì)算機(jī)領(lǐng)域里不存在所謂的事故。每一個(gè)結(jié)果必定有其原因。一個(gè)偉大的開發(fā)者不允許有事故發(fā)生。這是因?yàn)樗麑幵杆阉骱驼{(diào)試眾多的軟件層,在開發(fā)環(huán)境中找到原因。正因?yàn)槿绱俗屗e累了豐富的經(jīng)驗(yàn)知識,讓他更好地理解、閱讀并解釋應(yīng)用程序“怪異”的行為。
“The important thing is not to stop questioning. Curiosity has its own reason for existing.”重要的是不要停止提問。好奇心有它存在的理由。——Albert Einstein
"The most likely way for the world to be destroyed, most experts agree, is by accident. That's where we come in; we're computer professionals. We cause accidents."許多專家認(rèn)為,導(dǎo)致世界毀滅最可能的原因是意外事件。那正是我們在做的;我們是計(jì)算機(jī)專業(yè)人士,我們正在制造意外事件。——Nathaniel Borenstein
三、認(rèn)知 (Cognition)
編程是解決問題的行為。問題可以分解成多個(gè)組成部分,最終成為一個(gè)整體組合在一起。在大腦里尋找問題并作出反應(yīng),讓它們相互作用這就需要具備真正的技能。
四、一絲不茍(Meticulosity )
編程到處充滿著陷進(jìn),哪怕只是一個(gè)細(xì)節(jié)也會導(dǎo)致軟件開發(fā)崩潰。細(xì)節(jié)就是魔鬼,即使是很小的懶惰也可輕易地摧毀項(xiàng)目。這就是為什么說完美是如此的強(qiáng)大、強(qiáng)調(diào)高質(zhì)量的重要性,直至走向成功。
如果你能容忍第一個(gè)缺陷,那么第二個(gè)、第三個(gè)就會接踵而來,直到最后你得到了一個(gè)爛攤子。一名好的開發(fā)人員是不會容忍任何缺陷,這就避免了陷進(jìn)從而提升了項(xiàng)目質(zhì)量。這就好比一個(gè)“ 破窗理論”,意思是說一個(gè)房子如果窗戶破了,沒有人去修補(bǔ),隔不久,其它的窗戶也會莫名其妙地被人打破最終導(dǎo)致毀壞了整棟房子。
五、時(shí)間(Time)
偉大來源于經(jīng)驗(yàn)。是的,你可以簡單地遵照建議、模式和最佳實(shí)踐。但這與學(xué)識無關(guān),這是由于錯(cuò)誤和迭代演變而來的。
六、謙虛(Humbleness )
偉大的開發(fā)者知道他所不知道的,并且深知永遠(yuǎn)都不會知道所有的事情。他要知道,總會有改進(jìn)的空間,這同樣適用于自己的工作,他敢承認(rèn)自己的錯(cuò)誤并接受批判。
七、韌勁(Tenacity)
好的開發(fā)者會向解決方案宣戰(zhàn),他會跟其叫板,即使是讓他奮斗數(shù)小時(shí)、一夜、甚至是到天亮。也有的開發(fā)者在遇到問題時(shí),第一時(shí)間內(nèi)他不會考慮問題,但是他把這個(gè)當(dāng)做挑戰(zhàn),除非它不是個(gè)反模式。來之不易的成功來源于自信。
八、視野(Vision )
在軟件開發(fā)行業(yè)中,開發(fā)者經(jīng)常會在小項(xiàng)目上花費(fèi)很長時(shí)間,雖然很集中,但很容易迷失方向,而忽略對系統(tǒng)其他部分的影響。好的開發(fā)者在技能上應(yīng)該眼觀大局,根據(jù)現(xiàn)狀有預(yù)見性地作出判斷。
九、懶惰(Lazyness )
這個(gè)聽來很愚蠢,懶惰應(yīng)該擺在首要位置,但并非如此,懶惰導(dǎo)致了許多改進(jìn)。最重要的是懶惰導(dǎo)致了許多自動(dòng)化。每次當(dāng)你成功拒絕手動(dòng)而采用自動(dòng),或許你已經(jīng)獲得了改進(jìn)。
自動(dòng)化是通向完美無缺、高效及進(jìn)步的關(guān)鍵。完美無缺,因?yàn)槔硐胫械挠?jì)算機(jī)是不會犯任何錯(cuò)誤的(并不適用于每個(gè)方面),但是人類卻容易產(chǎn)生錯(cuò)誤。效率,從長遠(yuǎn)來看這是在投資節(jié)約時(shí)間。你越早使用自動(dòng)化,越能節(jié)省時(shí)間。進(jìn)步,每一次進(jìn)步都會給做其它事情留些空間。
好的開發(fā)者太懶散以至于:
- 編寫完整的API文檔,他讓JavaDoc做這項(xiàng)工作;
- 正確格式化代碼,讓IDE做這項(xiàng)工作;
- 一遍一遍地測試功能,他使用單元測試進(jìn)行自動(dòng)化;
- 遇到閱讀復(fù)雜的方法,所以他利用好的命名編寫簡短易讀的方法;
- 重復(fù)編寫同行代碼,他需求方法來重構(gòu)以避免這樣呆板的代碼,因?yàn)樗珣胁幌胫貜?fù)自己(DRY);
- 沒人要求實(shí)現(xiàn)該功能(適可而止_YAGNI原則)
- 使用位運(yùn)算和移位做減法運(yùn)算,保持簡單原則(KISS)
- 讓同事幫他別寫代碼(結(jié)對編程)
英文出自: Babdev
(責(zé)任編輯:admin)
- ·提高access的啟動(dòng)速度【譯文技巧】
- ·淺談斷號重續(xù)的利弊和方法
- ·分析使用Len函數(shù)判斷字符串為空的原理
- ·mdb快捷方式拖到桌面,打開會出現(xiàn)“不
- ·Access設(shè)計(jì)表字段是的注意事項(xiàng)
- ·學(xué)習(xí)別人示例的技巧方法
- ·SQL中獲取兩日期之間的值
- ·成為偉大開發(fā)者的“九步曲”
- ·面向初學(xué)者的窗體功能設(shè)計(jì)集成
- ·WINRAR打包視頻演示全過程
- ·《VB函數(shù)參考手冊》電子書
- ·ACCESS數(shù)據(jù)表中數(shù)據(jù)類型“是/否”轉(zhuǎn)為S
- ·Application與Docmd對象Quit方法區(qū)別探
- ·獲取ACCESS安裝路徑的二法(分享)
- ·JAVA+ACCESS編程體會
- ·Access 2003開發(fā)者擴(kuò)展工具集概述