?”
三、“代碼可工作”不是你止步的標(biāo)志;而是你開始的地方
一些流程定義了何為“更好”
。有沒有價(jià)值使其更快
?文檔更簡(jiǎn)單
?更可重用?更可靠
?對(duì)于不同的應(yīng)用程序
,這些問題的答案也各不相同,但是這個(gè)流程是不變的
。
四、寫三遍
好的程序員編寫可工作的軟件。而那些偉大的程序員編寫的軟件運(yùn)行起來極為出色
。這很少是能夠一蹴而就的
。最好的軟件通常要寫三次:
1. 首先,你寫軟件是為了證明給自己(或客戶)看該解決方案是可能的
。其他人可能不會(huì)意識(shí)到這僅僅是一個(gè)證明型的概念
,但是你知道。
2. 第二
,讓它工作起來
。
3. 第三,讓它正確工作
。
五、閱讀代碼,閱讀很多代碼
你可能已經(jīng)聽過這個(gè)建議
,實(shí)際上這是提高編程技巧最常見也是最有價(jià)值的建議
。但是很多人不知道閱讀別人的代碼之所以如此重要的原因。
當(dāng)你閱讀別人的代碼時(shí)
,你要去看別人是如何解決問題的。但不要把它當(dāng)作文學(xué)來看
;把它當(dāng)做一個(gè)教訓(xùn)
,一個(gè)挑戰(zhàn)。
六 、寫代碼
,而不僅僅是作為分配的任務(wù)
工作于個(gè)人編程項(xiàng)目有很多優(yōu)勢(shì)。首先
,它提供了一個(gè)學(xué)習(xí)工具和技術(shù)的途徑
,而這些工具和技術(shù)在你當(dāng)前的工作中是學(xué)不到的,但是這能讓你在找下一份工作時(shí)更有競(jìng)爭(zhēng)力
。無論你是致力于開源項(xiàng)目
,還是為當(dāng)?shù)氐纳鐓^(qū)組織提供無償?shù)膭趧?dòng),都可以讓你增加技術(shù)技能和自信
。
七、盡可能一對(duì)一地和其他開發(fā)人員合作
這有助于仔細(xì)傾聽別人的思路和想法
。方法可以是結(jié)對(duì)編程,可以是去參加編程馬拉松
,也可以是加入一個(gè)編程用戶群
。當(dāng)你致力于一個(gè)開源項(xiàng)目時(shí),要注意你從用戶和其他開發(fā)人員那里得到的反饋
。在他們的批評(píng)建議中有沒有什么共同點(diǎn)
?你或許會(huì)很幸運(yùn)地找到一個(gè)可以信任的個(gè)人導(dǎo)師,他會(huì)指導(dǎo)你從編碼技術(shù)到職業(yè)決定的所有東西
。不要浪費(fèi)這些機(jī)會(huì)
。
八、學(xué)習(xí)技術(shù),而不是工具
編程語言
、工具和方法變化不定。這就是為什么我們要積累盡可能多的經(jīng)驗(yàn)
,使用盡可能多的語言和框架
。專注于編程基礎(chǔ),因?yàn)榛A(chǔ)知識(shí)永遠(yuǎn)不會(huì)改變:要 更注重結(jié)構(gòu)
,而不是編程
。如果你覺得只有一種做事的正確方法,那么可能是時(shí)候?qū)崙?zhàn)檢驗(yàn)了
。教條會(huì)阻礙你學(xué)習(xí)新事物的能力
,同時(shí)要試著讓自己慢慢適應(yīng)變化。
還有很多
,但是自我提高的一個(gè)關(guān)鍵原則是知道何時(shí)停止
。