
成為一個(gè)優(yōu)秀的程序員和成為其他優(yōu)秀的專業(yè)人員一樣,需要盡可能多的做一些有質(zhì)量的工作。有句很流行的話可以總結(jié):做,正確做事,立馬就做。(Do it. Do it right. Do it right now)
1. 用記事本列出一天要做的事情
一個(gè)好的工作習(xí)慣是有計(jì)劃性的,我會(huì)盡可能的把今天要做的事情列在一個(gè)TXT文檔里,用序號(hào)標(biāo)注出來(lái),然后看看那個(gè)是最容易完成的,首先消滅它,把最難完成或難度最大的放在后面來(lái)做,以避免其他事情完成不了,這其實(shí)就是一個(gè)習(xí)慣問(wèn)題,養(yǎng)成需要你的堅(jiān)持。
2. 不要同時(shí)做兩件事情
集中你的精力去完成一件事情,而不要同時(shí)做兩件事情,這個(gè)效率已經(jīng)得了認(rèn)可。
一個(gè)好的建議是:
集中精力工作25分鐘,休息5到10分鐘。你可以用諸如“番茄工作法”這種流行的技術(shù)來(lái)幫助你管理時(shí)間。還有工具能幫助你測(cè)量你花在各項(xiàng)不同任務(wù)上的時(shí)間,我最喜歡的是CoolTimer。
3. 檢查事情是否完成
以下兩個(gè)是考察事情是否正確完成的關(guān)鍵:
要為解決方法感到到自豪,因?yàn)檫@不僅僅只是個(gè)普通的解決方法,這是個(gè)好的方法。遵循“軟件質(zhì)量金字塔”的原則
解決方法至少要經(jīng)過(guò)一次檢查。在你的同事中,請(qǐng)一位你尊敬的優(yōu)秀開(kāi)發(fā)人員檢查你的方法,并接受他的真誠(chéng)建議。
4. 半途不要放棄
眾所周知,若仍有一個(gè)玻璃杯需要清洗,則不能說(shuō)已經(jīng)洗完了。粉刷墻壁或驅(qū)車前往某處這些事情上我們也認(rèn)可同樣的道理,但在軟件開(kāi)發(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),并且有些東西需要重新審查。