高效的程式設計師是聰明和懶惰的
本文由碼農網 – 小峰原創翻譯,轉載請看清文末的轉載要求,歡迎參與我們的付費投稿計劃!
我之所以要用聰明和懶惰來形容高效的程式設計師,原因有以下幾點:
- 聰明是因為能找出問題的正解
- 懶惰是因為不願寫多餘的程式碼(即不會長時間地坐在電腦前)
好的軟體開發過程應該是懶惰的軟體開發,亦稱耐心開發,原因是開發人員在寫程式碼之前會先將時間花在透徹地考慮各種解決方案上。
這是懶惰開發的主旨,即在不瞭解之前就不會開始寫程式碼。這個負責任的態度減少了他們所需要寫的程式碼量。
主要需要做到以下幾點:
- 真正瞭解需求、獲得產品管理,關鍵是要明確什麼才是實際要求
- 確保與團隊中其他開發人員之間的順利對接
這些過程都是需要時間的。然而,不少開發人員往往一拿到問題就開始急於敲程式碼,然後再花費大把大把的時間修改程式碼。
事實上,只有5%都不到的時間才真正是有生產力的。所以下回你要是看到某個開發人員將他100%的時間都緊盯著螢幕,不與其他人做任何互動,那麼只能說你找來的程式設計師可不太好啊。
這是一個不好的跡象——如果開發人員總是寫程式碼的話
高效的開發人員會時不時地檢查對需求的理解,以確保與程式碼相一致。富有生產力的開發人員會經常與產品經理/業務分析員分析交流,也時常可以看到他們與同事和架構師出雙入對。當然資深的開發人員也會因其自身豐富的經驗而變得非常有效率。事實上,最好的開發人員與其他人相比:
- 編寫初始編碼所用的時間約為1比20
- 除錯時間的比例超過1比25
- 程式執行速度大概是1比10
- 程式大小為1比5
然而,總的說來,隨著時間的推移,開發人員的生產效率並沒有隨之而增長,即從成千上萬的開發人員那兒可以證實,豐富的經驗和生產力是無關的。事實上,我們的生產效率在過去50年間已經提高了8倍,所以,從總體上說,經驗與生產力水平是不相干的。
為什麼在程式碼上的懶惰會變得如此重要?
很多人很勤快,還沒有好好理解需求就開始動手寫程式碼。並且,迅速編寫的程式碼往往不能很好的適應其他人的程式碼。而這一問題往往只有在整合程式碼的時候才能被發現,但是已經晚了。優秀的開發人員很有耐心,他知道快速編碼的風險。
開發人員在心理上很重視他們的程式碼
差的開發人員往往不願意去改變自己寫得不好的程式碼。他們只會選擇增添更多的程式碼來彌補不足,而不會重寫不理想的程式碼。更糟的是,他們往往會去責怪其他人有不良的程式碼,而不願意自我檢討。在他們手中,最終只會導致一個嚴重缺陷和不穩定的系統。
當然,好的開發人員也會寫出差的程式碼,非最優的程式碼。所不同的是,他們願意認識自己的不足,並且對於有問題的部分:
- 如果程式碼大致還是能正確執行的,那就重構程式碼
- 否則,就重寫程式碼
當開發人員生產並維護了非最優程式碼,隨著時間的推移,那麼修改這些程式碼就會變得越來越難。這是因為你的同事需要在這些程式碼介面上寫程式碼,然後再建立繁雜的介面等等使用這些非最優程式碼。並且隨著程式碼庫的發展,會有更多更多的程式碼是依賴這些原始程式碼編寫出來的。故而,後面寫的程式碼再怎麼好也幾乎增加不了程式碼的穩定性,也不能對略有改動時bug增殖的情況產生影響。總之,開發過程會變得越來越慢、越來越難。
所以,如果有什麼疑問,那麼不妨偷個懶,晚點再寫程式碼,須知,磨刀不誤砍柴工啊!
譯文連結:http://www.codeceo.com/article/productive-programmer-lazy-smart.html
英文原文:Productive Developers are Smart and Lazy
翻譯作者:碼農網 – 小峰
[ 轉載必須在正文中標註並保留原文連結、譯文連結和譯者等資訊。]
相關文章
- 高效程式設計師的特徵:聰明 懶惰程式設計師特徵
- 高效程式設計師的特徵:聰明,懶惰程式設計師特徵
- 你是一名努力工作的程式設計師,還是懶惰的程式設計師?程式設計師
- 程式設計師懶惰之極的確鑿證據程式設計師
- 程式設計師是懶惰反覆無常的偽知識分子,果真如此嗎?程式設計師
- 愛偷懶的程式設計師是好程式設計師程式設計師
- 我是一個失聰的程式設計師程式設計師
- 程式設計裡的“小聰明”(1)程式設計
- 成為聰明程式設計師必知的5個技能程式設計師
- 看看聰明程式設計師是如何應對客戶發現BUG投訴的程式設計師
- 聰明人和傻子和程式設計師程式設計師
- 偷懶是程式設計師的一種至高境界程式設計師
- 智慧行業聰明者,程式設計師應該瞭解的CRM行業程式設計師
- 聰明的程式設計師應該知道什麼是最值得解決的問題 - Fagner Brack程式設計師
- 聰明的程式設計師容易做出錯誤的戰略決策 - earthly程式設計師
- 程式設計師如何偷懶?偷懶是一種至高境界程式設計師
- 邦芒職場:職場中實現高效而“懶惰”的方法
- 你的程式設計師是在努力工作還是在偷懶?程式設計師
- [愛偷懶的程式設計師系列]-Section 1. “懶”是一切需求的根源程式設計師
- 面試官“你的期望薪資是多少?”聰明的程式設計師都是這樣答的!面試程式設計師
- 幽默:程式設計師耍小聰明導致認知負擔 - tef程式設計師
- “懶”的聰明:年輕人智慧生活洞察報告(附下載)
- 對程式設計師來說 懶是一種值得稱頌的美德程式設計師
- 程式設計師真的很懶程式設計師
- JavaFX教程-增量式求值和懶惰求值Java
- 認知偏差:懶惰其實是不存在的 - Devon Pricedev
- 證明你是壞程式設計師的7個跡象程式設計師
- 高效程式設計師的 5 種角色程式設計師
- 團隊使人懶惰
- 盲人程式設計師是如何程式設計的?程式設計師
- 谷歌程式設計師有哪些高效的程式設計習慣?谷歌程式設計師
- 女程式設計師必須證明自己是真正的優秀程式設計師
- 不要被懶惰奪走你的思考能力
- 老程式設計師眼中的簡明AI程式設計師AI
- 高效程式設計師的七個習慣程式設計師
- 為什麼智慧合約是'聰明'的?
- 視障程式設計師是如何程式設計的?程式設計師
- 程式設計師應當學會“偷懶”程式設計師