“不要重復(fù)造輪子( Stop Trying to Reinvent the Wheel)”, 可能應(yīng)該是每個程序員入行被告知的第一條準(zhǔn)則。寫程序?qū)嶋H上是一個最能“偷懶”的工作:你現(xiàn)在費(fèi)力實(shí)現(xiàn)的每一個功能,可能早已經(jīng)有極好的解決方法貢獻(xiàn)在開源社區(qū),使用好現(xiàn)有的輪子和各種開源庫,會讓你事半功倍。當(dāng)然,要找到一個非常適合的輪子,是非常不容易的一件事。有時候費(fèi)了九牛二虎之力找了輪子,卻發(fā)現(xiàn)有這樣那樣的問題,最后還是無疾而終。
一個程序員能否精確評估開發(fā)時間,是一件非常重要的事情。不過對于新手程序員來說,寧可多算一周,不可少估一天。過于“樂觀”容易讓你的 boss 受驚嚇。畢竟,在評估開發(fā)時間的過程中,你需要預(yù)設(shè)各種修改對其他模塊的影響。一個修改后的單元測試,可接受測試,UAT 環(huán)境測試,再到上線,很多地方都是需要花時間的。一旦某個測試不通過,然后又得調(diào)試,修改,再進(jìn)行單元測試......誰能保證每次修改都是一次通過的呢。