程序员的三大美德
Perl 語言的發明人 Larry Wall 一個經典敘述:優秀程序員應該有三大美德:懶惰、急躁和傲慢(Laziness, Impatience and hubris)。
有人甚至為此專門打造了一個三大美德的網站,闡釋這個初看起來匪夷所思的說法。
一、懶惰,是一種品質,它會使你花很大力氣去規避過度的精力消耗,敦促你寫出節省體力的程序,別人也能很好地利用,你還會為此寫出完善的文檔,以免別人來問問題。
——不能用行動上的“勤奮”代替思想上的懶惰,如:加班、辛苦之類,通過及時反思總結,避免怠惰。
——思想上的勤奮:做有價值的事情,有價值包括“不做”什么也很重要,通過“不做”節省時間和成本,而去做高價值的,這也是有價值的。
——致力于減少項目總的工作量,提升效率,減少bug和用戶投訴,杜絕故障,一次性做對,舉一反三解決一類共性問題
急躁,是計算機偷懶時,你會感到的一種憤怒。它會促使你寫出超越預期的程序,而不只是響應需求。
——不做重復性的工作,通過程序自動化等有創意的解決
——削峰填谷,考慮非功能性需求
——可擴展性強,感知并適應客戶變化,知道為什么做
傲慢,極度自信,寫出別人(維護、客戶)挑不出毛病的程序。
——是超越客戶的,不讓客戶挑剔,碾壓客戶,通過專業影響并成就客戶。
——不是簡單的增刪改查,copy粘貼,而是體現數據結構和算法、設計模式、模型等,參加公司高手大賽、挖掘專利等
——結構化、有邏輯的及時交付:需求、設計、代碼、代碼review、自測報告、上線環境清單、上線總結等。
對應《unlocking?agility》的成長性思維,自信、承擔,不怕犯錯,不知道你是否感受到,程序員獨有的幽默和透露出的那種驕傲:我做的東西就應該是最好的。
之所以要從 Larry Wall 的這段話開啟“自動化”這個模塊,因為只要一說到自動化,我就會情不自禁地聯想到“偷懶”這個詞。是的,我們程序員的工作,本質上就是打造各種自動化的工具,讓人們從各種繁復的工作中解脫出來,讓人有機會“偷懶”。
或許你不能理解我這里所說的“項目成功”。在我看來,做有價值的事是重要的,這里面的有價值,不僅僅是“做”了什么,通過“不做”節省時間和成本也是有價值的。我的兩個同事阻止了客戶的浪費,所以,我將這個項目視為成功。
總結
 
                            
                        - 上一篇: beyond compare 3 中文乱
- 下一篇: Beyond Compare v3.3.
