成為一個(gè)優(yōu)秀的程序員和成為其他優(yōu)秀的專業(yè)人員一樣,需要盡可能多地做一些有質(zhì)量的工作。有句很流行的話可以總結(jié):做,正確做事,立馬就做。(Do it!Do it right!Do it right now?。?/div>
1.將一天要做的事情列成清單
完成復(fù)雜活動(dòng)(activity)的最好方法是將其拆分成簡(jiǎn)單的各項(xiàng)活動(dòng)。每天早上,將你一天要完成的活動(dòng)進(jìn)行拆分,然后制定一個(gè)相應(yīng)的日程安排表,這樣能夠幫助你:
?。?)更好地理解這個(gè)活動(dòng)。
?。?)每天都有一個(gè)集中的目標(biāo)。
?。?)提高你的估計(jì)能力,幾天之后,你會(huì)發(fā)現(xiàn)你能預(yù)測(cè)一天的工作量。
2.一次只做一件事
集中于一項(xiàng)任務(wù)比同時(shí)做多項(xiàng)任務(wù)更多產(chǎn),不同的研究已經(jīng)證明這一觀點(diǎn),并且發(fā)布在不同的媒體上(例如CNN)。
集中精力工作25分鐘,休息5到10分鐘。你可以用諸如“番茄工作法”這種流行的技術(shù)來(lái)幫助你管理時(shí)間。另外,工具能幫助你測(cè)量你花在各項(xiàng)不同任務(wù)上的時(shí)間。
3.正確做事
以下兩個(gè)是考察事情是否正確完成的關(guān)鍵:
要為解決方法感到到自豪,因?yàn)檫@不僅僅只是個(gè)普通的解決方法,這是個(gè)好的方法。遵循“軟件質(zhì)量金字塔”的原則。
解決方法至少要經(jīng)過(guò)一次檢查。在你的同事中,請(qǐng)一位你尊敬的優(yōu)秀開發(fā)人員檢查你的方法,并接受他的真誠(chéng)建議。
4.不要半途而廢
眾所周知,若仍有一個(gè)玻璃杯需要清洗,則不能說(shuō)已經(jīng)洗完了。粉刷墻壁或驅(qū)車前往某處這些事情上我們也認(rèn)可同樣的道理,但在軟件開發(fā)上我們卻不這么認(rèn)為了。即便我們沒(méi)有完成所有的單元測(cè)試,或者我們沒(méi)有核實(shí)實(shí)現(xiàn)方式是否符合用戶的需要,我們也說(shuō)完成了任務(wù)。這是典型來(lái)自Hope Driven Development的行為,是非常有害的。
需求沒(méi)有更改時(shí),只有當(dāng)你百分之百確認(rèn)再也沒(méi)有必要改善那個(gè)解決方法時(shí),才能算完成任務(wù)。
5.與其道歉,不如補(bǔ)救,而放棄最不可取。
如果你要花額外的時(shí)間來(lái)完成一些代碼的測(cè)試,或者重構(gòu)不可讀的類,那么就去做,因?yàn)檫@是在為將來(lái)投資時(shí)間。但是如果你在某件事上面卡住了或者將項(xiàng)目拖延的太久,那么尋找一個(gè)更容易的方案。它可能不如你目前正在實(shí)現(xiàn)的方案優(yōu)雅,但至少你有方案。確保記錄下來(lái)以應(yīng)對(duì)這個(gè)項(xiàng)目將來(lái)的風(fēng)險(xiǎn),并且有些東西需要重新審查。
?
移動(dòng)版:五個(gè)好習(xí)慣讓你成為優(yōu)秀程序員