傳統智慧認爲,項目一旦進入編碼階段,工做主要就是機械的把設計轉換爲可執行語句,可是編碼不是機械工做,注重實效的程序員批判的思考全部代碼,包括咱們本身的,咱們不斷地在咱們的程序和設計中看到改進的餘地,只要你在製做代碼,你就應當記住,有一天你必須對其進行測試,要讓代碼易於測試,這樣你才能增長他時候即經過測試的可能性。程序員
要深思熟慮的進行編程。算法
要意識到你在作什麼。編程
不要盲目地進行編程。試圖構建你不徹底理解的應用,或是使用你不熟悉的技術。就是但願本身被巧合誤導。ide
按照計劃行事,無論計劃是在你的頭腦中仍是哪裏。性能
依靠可靠的事物。不要依靠巧合或者假定,若是你沒法說出特定情形的區別,就假定是最壞的。單元測試
爲你的假設創建文檔測試
不要只是測試你的代碼,還須要測試你的假定,不要猜想,而要實際嘗試它,編寫斷言測試你的假定。編碼
爲你的工做設置優先級。把時間花在重要的地方,雖然頗有可能他們是最難的地方。設計
不要作歷史的奴隸。文檔
能夠有不少的辦法來估算算法的階數,如簡單循環,嵌套循環,二分法,分而治之,組合等方法。
注重實效的程序員會設法既考慮理論問題,又考慮實踐問題。
須要重構代碼的特徵:
重複:你發現了對DRY原則的違反
非正交的設計:你發現有些代碼或設計能夠變得更爲正交
過期的知識:事情變了,需求轉移了,你對問題的瞭解加深了。
性能:爲改善性能,你須要把功能從系統的一個區域轉移到另外一個區域。
咱們可使用junit單元測試,在返回值爲void的方法上面加上@Test,而後選擇方法名,運行junit test 這樣能夠進行單元測試。