- 相關(guān)推薦
被詛咒的程序員之七宗罪
七宗罪(Seven deadly sins),13世紀道明會(huì )神父圣多瑪斯阿奎納列舉出各種惡行的表現。這些惡行最初是由希臘神學(xué)修道士龐義伐草撰出8種損害個(gè)人靈性的惡行,分別是貪食、色欲、貪婪、暴怒、懶惰、傷悲、自負及傲慢。
程序員生來(lái)不平等,有的偉大,有的渴望偉大,有的就是……
下面是一些程序員經(jīng)常會(huì )走入的歧途。聽(tīng)起來(lái)很恐怖,但享用吧。上帝就在你身邊,警惕這些危險的信號,跟隨主救贖的指引。
1. 色(Lust)
凡犯色欲者:在硫磺和火焰中熏悶
作為程序員,這種罪惡的表現是不斷的受絢麗的新事物的誘惑。下一代編程語(yǔ)言,最新的框架,最新的平臺。
我們程序員天生好奇。我們受惑于追求高效,堅信所有的東西都要經(jīng)過(guò)優(yōu)化。只有用了那種最新的語(yǔ)言,我們才能工作。
雖然不斷的追求改進(jìn)是非常值得贊賞,但采用新事物也是有代價(jià)的。有避免不了的學(xué)習曲線(xiàn)。有適應問(wèn)題。有未知的依賴(lài)問(wèn)題。有未知的未知問(wèn)題。
清除這些雜念。專(zhuān)心解決你手頭上的問(wèn)題。充分利用你知道的,停止貪戀那些光鮮新事物。
2. 貪食(Gluttony)
凡犯貪食者:強迫進(jìn)食老鼠,蟾蜍和蛇
這是過(guò)度之罪。過(guò)度的企圖多做,過(guò)度的擴展深度和廣度。
不必要的功能特征溜進(jìn)了產(chǎn)品里。大量無(wú)用的代碼被生產(chǎn)出來(lái)。寶貴的編程時(shí)間被消耗,被浪費。
這些行為增加了不必要的復雜度,帶來(lái)的高昂的維護代價(jià)。通常導致的結果是,預期不能完工。bug層出不窮。
警惕那些不該有的功能、警惕那些對不必要的復雜架構的偽辯護、警惕過(guò)早優(yōu)化的跡象。讓產(chǎn)品簡(jiǎn)潔。
3. 貪婪(Greed)
凡犯貪婪者:在油中煎熬
過(guò)度專(zhuān)業(yè)化和功能化會(huì )導致形成個(gè)人的領(lǐng)地。固步自封。我的代碼。我的模塊。我相干的區域。沒(méi)有分享。沒(méi)有合作。
一種不健康的對這些人的依賴(lài)會(huì )逐漸形成。所謂的“編程教父”,“編程巨星”和“編程領(lǐng)袖”就代表了這些趨勢。
相反,應該建立一個(gè)崇尚代碼集體所有和充分合作(比如結對編程或相互代碼審查)的文化。
4. 怠惰(Sloth)
凡犯懶惰者:丟入蛇坑
根據Perl語(yǔ)言的創(chuàng )造者Larry Wall的話(huà),懶惰是程序員的三個(gè)偉大美德之一。
但懶惰不能和冷漠混為一談。長(cháng)時(shí)間不理出現的問(wèn)題。允許代碼腐爛異味。不重構拷貝/粘貼過(guò)來(lái)的重復代碼。
對軟件開(kāi)發(fā)中這些需要修改的東西要有一種緊迫感。事無(wú)巨細。這是保持軟件健康的必要態(tài)度。
5. 暴怒(Wrath)
凡犯暴怒者:活體肢解
在有些地方,有些程序員是每個(gè)人都尊敬,也是每個(gè)人都害怕。你也許遇到過(guò)這樣的火星極客。他們恃才放曠,為所欲為,其他人在他身邊都惦著(zhù)腳走。避免和他沖突。
他們喜怒無(wú)常,他們的怒氣經(jīng)常撒錯方向。他們貶低他人,破壞團隊和諧。
警惕這種不受約束的對峙氣氛的滋生。拒絕忍受這樣的撒野。立即辭掉他們。
6. 妒忌(Envy)
凡犯妒忌者:投入冰水之中
不滿(mǎn)足于現有的工具和系統,有些程序員眼睛總是盯著(zhù)別人的。
我曾經(jīng)遇到過(guò)這樣的經(jīng)歷,一個(gè)wiki系統正在使用中,另外一個(gè)卻同時(shí)被引進(jìn),因為它的標記語(yǔ)法感覺(jué)更好一些。兩個(gè)問(wèn)題跟蹤系統,多種聊天系統,不兼容的博客平臺,等等。
如果你不喜歡某個(gè)工具,相信有比它更好的,那好,去找到它,使用它。但是,請完全放棄你現有的。吃著(zhù)碗里又想占這鍋里,只會(huì )得不償失,給自己制造麻煩。
7. 傲慢(Pride)
凡犯傲慢者:輪裂
有些程序員喜歡孤芳自賞。對自己的能力過(guò)度自信。從不尋求幫助。
更糟糕的,他認為所有的事情都應該由自己來(lái)完成。雖然他有能力完成任何的任務(wù),但他卻沒(méi)能完成,因為他承擔的太多了,無(wú)法集中精力。他分不清什么是核心什么是次要的。在可以使用云服務(wù)時(shí)他建造自己的服務(wù)器,在能使用成熟的部署系統時(shí)他重新發(fā)明自己的,他開(kāi)發(fā)出跟現有框架功能相同的框架,等等。
誠然,做研究是有趣的。這些研究經(jīng)常被辯稱(chēng)為“基礎”或“革新”,但卻因沒(méi)有更快捷的創(chuàng )造商業(yè)價(jià)值而使產(chǎn)品喪失市場(chǎng)先機。
小心“非我發(fā)明(Not Invented Here)”綜合征。準確的定義你的核心目標,你的首要工作。其它的都是次要的,可以借用別人的。這沒(méi)有什么好羞愧的。
[被詛咒的程序員之七宗罪]相關(guān)文章:
【被詛咒的程序員之七宗罪】相關(guān)文章:
白領(lǐng)女人的七宗罪07-12
華為人力資源政策七宗罪07-11
攝影師不想再犯的七宗罪有哪些?07-09
程序員就業(yè)前景php程序員就業(yè)前景08-02
程序員求職05-22
巴掌之吻,教育之痛作文08-14
巴掌之吻教育之痛作文03-13
程序員的好與壞07-11
程序員面試寶典07-09
程序員個(gè)人總結05-17