被詛咒的程序員之七宗罪
七宗罪(Seven deadly sins),13世紀道明會神父聖多瑪斯阿奎納列舉出各種惡行的表現。這些惡行最初是由希臘神學修道士龐義伐草撰出8種損害個人靈性的惡行,分別是貪食、色慾、貪婪、暴怒、懶惰、傷悲、自負及傲慢。
程序員生來不平等,有的偉大,有的渴望偉大,有的就是……
下面是一些程序員經常會走入的歧途。聽起來很恐怖,但享用吧。上帝就在你身邊,警惕這些危險的信號,跟隨主救贖的指引。
1. 色(Lust)
凡犯色慾者:在硫磺和火焰中薰悶
作爲程序員,這種罪惡的表現是不斷的受絢麗的新事物的誘惑。下一代編程語言,最新的框架,最新的平臺。
我們程序員天生好奇。我們受惑於追求高效,堅信所有的東西都要經過優化。只有用了那種最新的語言,我們才能工作。
雖然不斷的追求改進是非常值得讚賞,但採用新事物也是有代價的。有避免不了的學習曲線。有適應問題。有未知的依賴問題。有未知的未知問題。
清除這些雜念。專心解決你手頭上的問題。充分利用你知道的,停止貪戀那些光鮮新事物。
2. 貪食(Gluttony)
凡犯貪食者:強迫進食老鼠,蟾蜍和蛇
這是過度之罪。過度的企圖多做,過度的擴展深度和廣度。
不必要的功能特徵溜進了產品裏。大量無用的代碼被生產出來。寶貴的編程時間被消耗,被浪費。
這些行爲增加了不必要的複雜度,帶來的高昂的維護代價。通常導致的結果是,預期不能完工。bug層出不窮。
警惕那些不該有的'功能、警惕那些對不必要的複雜架構的僞辯護、警惕過早優化的跡象。讓產品簡潔。
3. 貪婪(Greed)
凡犯貪婪者:在油中煎熬
過度專業化和功能化會導致形成個人的領地。固步自封。我的代碼。我的模塊。我相干的區域。沒有分享。沒有合作。
一種不健康的對這些人的依賴會逐漸形成。所謂的“編程教父”,“編程巨星”和“編程領袖”就代表了這些趨勢。
相反,應該建立一個崇尚代碼集體所有和充分合作(比如結對編程或相互代碼審查)的文化。
4. 怠惰(Sloth)
凡犯懶惰者:丟入蛇坑
根據Perl語言的創造者Larry Wall的話,懶惰是程序員的三個偉大美德之一。
但懶惰不能和冷漠混爲一談。長時間不理出現的問題。允許代碼腐爛異味。不重構拷貝/粘貼過來的重複代碼。
對軟件開發中這些需要修改的東西要有一種緊迫感。事無鉅細。這是保持軟件健康的必要態度。
5. 暴怒(Wrath)
凡犯暴怒者:活體肢解
在有些地方,有些程序員是每個人都尊敬,也是每個人都害怕。你也許遇到過這樣的火星極客。他們恃才放曠,爲所欲爲,其他人在他身邊都惦着腳走。避免和他衝突。
他們喜怒無常,他們的怒氣經常撒錯方向。他們貶低他人,破壞團隊和諧。
警惕這種不受約束的對峙氣氛的滋生。拒絕忍受這樣的撒野。立即辭掉他們。
6. 妒忌(Envy)
凡犯妒忌者:投入冰水之中
不滿足於現有的工具和系統,有些程序員眼睛總是盯着別人的。
我曾經遇到過這樣的經歷,一個wiki系統正在使用中,另外一個卻同時被引進,因爲它的標記語法感覺更好一些。兩個問題跟蹤系統,多種聊天系統,不兼容的博客平臺,等等。
如果你不喜歡某個工具,相信有比它更好的,那好,去找到它,使用它。但是,請完全放棄你現有的。吃着碗裏又想佔這鍋裏,只會得不償失,給自己製造麻煩。
7. 傲慢(Pride)
凡犯傲慢者:輪裂
有些程序員喜歡孤芳自賞。對自己的能力過度自信。從不尋求幫助。
更糟糕的,他認爲所有的事情都應該由自己來完成。雖然他有能力完成任何的任務,但他卻沒能完成,因爲他承擔的太多了,無法集中精力。他分不清什麼是核心什麼是次要的。在可以使用雲服務時他建造自己的服務器,在能使用成熟的部署系統時他重新發明自己的,他開發出跟現有框架功能相同的框架,等等。
誠然,做研究是有趣的。這些研究經常被辯稱爲“基礎”或“革新”,但卻因沒有更快捷的創造商業價值而使產品喪失市場先機。
小心“非我發明(Not Invented Here)”綜合徵。準確的定義你的核心目標,你的首要工作。其它的都是次要的,可以借用別人的。這沒有什麼好羞愧的。
-
QQ 郵箱每天收到很多假冒“ QQ 安全中心”的郵件,騰訊沒法攔截嗎?
每天兩三封,都是假冒QQ安全中心的郵件,內容是你的'QQ遭到申訴和攻擊,給你個虛假的安全中心,騙取密保。我舉報了上百次了吧,毫無效果,依然每天收到。...
-
計算機軟件著作權代理合同通用4篇
隨着人們法律觀念的日益增強,合同出現的次數越來越多,它也是實現專業化合作的紐帶。知道嗎,寫合同可是有方法的哦,以下是小編精心整理的計算機軟件著作權代理合同,供大家參考借鑑,希望可以幫助到有需要的朋友。計算機軟件著作權代理合同1委託人(甲方):被委託人(乙方):甲乙...
-
計算機軟件專業求職信集合
日子在彈指一揮間就毫無聲息的流逝,我們將帶着新的期許,開啓新一輪的求職,感覺我們很有必要寫求職信了。寫求職信需要注意哪些問題呢?以下是小編爲大家收集的計算機軟件專業求職信集合,歡迎大家借鑑與參考,希望對大家有所幫助。計算機軟件專業求職信集合1尊敬的領導:...
-
計算機軟件著作權轉讓合同(通用2篇)
在當今不斷髮展的世界,合同的使用頻率呈上升趨勢,簽訂合同也是避免爭端的最好方式之一。你知道合同的主要內容是什麼嗎?下面是小編整理的計算機軟件著作權轉讓合同,供大家參考借鑑,希望可以幫助到有需要的朋友。計算機軟件著作權轉讓合同1甲方:_____________________...