靜態(tài)語言的一個大的優(yōu)勢就是編譯器能在編譯期間檢查很多錯誤,不考慮為了這個編譯期間,我們需要多定義多寫的代碼,所以才有了好多人想做動態(tài)語言的也有類似的這種提前發(fā)現(xiàn)錯誤,比如大神王垠的PySonar2
錯誤當然是越提前越好,那么寫代碼的習慣呢?比如我們團隊目前正在做karaf遷移,發(fā)現(xiàn)一些人都習慣是先按照原來的spring方式寫,后面要扔到karaf里才加bundle相關,更或者寫完后扔到karaf發(fā)現(xiàn)錯誤才改,這個效率可不如寫一個相關的一次性加好bundle的相關東西好得多。
那么設計需求呢,當然也是提前能考慮好,提前花更多的時間強,不然返工,考慮疏忽被測試打回,欲速測不達,這事經(jīng)歷后就懂,前期的設計前期花在需求上明確的時候事很值的,否則又要在后面經(jīng)歷多個多個流程來浪費時間,敏捷不是不考慮設計,是不要太陷于設計,需求等,這是個度的問題---請看那本 <<高效程序員45個習慣>>中的需不需要設計篇,各位敏捷控說不要設計的!