自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

高效程序員的特征:聰明,懶惰

開發(fā) 項(xiàng)目管理
正確的軟件開發(fā)應(yīng)該是懶惰式開發(fā),也被稱作忍耐式開發(fā);這種開發(fā)方式的表現(xiàn)是,在真正動(dòng)手寫代碼前,程序員要花大量的時(shí)間通盤考慮所有可能的解決方案和途徑。這可以看作是延緩寫代碼,在沒有完全理解問題前絕不動(dòng)手寫代碼。

這里我使用了聰明,懶惰程序員這幾個(gè)詞。我說的這幾個(gè)詞的意思是:

  • 程序員:有積極活力的,專注于用代碼解決真實(shí)世界里的問題

    • 不是指那些夢(mèng)想家,那些永遠(yuǎn)只想不做的人

  • 聰明:能夠周全的思考問題(不是那些耍小聰明的人)

  • 懶惰:就像是程序中的lazy-loading,是指延后寫代碼的時(shí)間(而不是無(wú)所事事的人)。

正確的軟件開發(fā)應(yīng)該是懶惰式開發(fā),也被稱作忍耐式開發(fā);這種開發(fā)方式的表現(xiàn)是,在真正動(dòng)手寫代碼前,程序員要花大量的時(shí)間通盤考慮所有可能的解決方案和途徑。這可以看作是延緩寫代碼,在沒有完全理解問題前絕不動(dòng)手寫代碼。先把問題理解清楚,確保將要寫的代碼能真正的解決問題,這將會(huì)避免之后寫出大量無(wú)用的代碼。

[[113821]]這里說的先把問題弄清楚,表現(xiàn)有:

  • 真正的理解需求,讓產(chǎn)品部門(業(yè)務(wù)分析部門)弄清楚他們真正需求的是什么。

    • 這些部門通常不給足夠的時(shí)間來整理需求

    • 他們經(jīng)常不是請(qǐng)教問題領(lǐng)域?qū)<?,而是順從領(lǐng)導(dǎo)的意見

    • 他們通常無(wú)法提供前后一致或完整的需求意見。

  • 清楚跟團(tuán)隊(duì)中的其它程序員或其他團(tuán)隊(duì)中的程序員需要那些交互,如何交互,這包括:

    • 使用白板交流

    • 畫流程圖(UML或Visio)

你需要花大量的時(shí)間調(diào)研,來確保需求符合實(shí)情,來做工作讓你和同事的交流有共同的語(yǔ)言語(yǔ)義。然而,程序員都喜歡立刻沖上去編程,喜歡在電腦前不停的敲代碼。

[[113822]]在真正的軟件開發(fā)中,只有5%的開發(fā)時(shí)間是有效率的(你可以參考《程序員開發(fā)效率悖論》)。如果你發(fā)現(xiàn)一個(gè)程序員用100%的時(shí)間都在盯著屏幕,那么,你看到的這個(gè)程序員是最糟糕的程序員。

如果一個(gè)程序員總是在電腦前編碼,這絕對(duì)是一個(gè)不好的信號(hào)。

高效的程序員總是不斷檢查他對(duì)需求的理解,確保他們的代碼和需求是同步的。高效的程序員是頻繁的和產(chǎn)品經(jīng)理/業(yè)務(wù)人員溝通交流,你可以經(jīng)??吹剿麄兪褂冒装迮c同事和架構(gòu)師交流討論。程序員的閱歷和經(jīng)驗(yàn)都是用來提高開發(fā)效率,這***秀的程序員:

  • 他們思考代碼的時(shí)間增加而寫代碼時(shí)間減少

  • 對(duì)問題的透徹理解使調(diào)試代碼的速度更快

  • 深思熟慮后的代碼速度更快

  • 代碼長(zhǎng)度更短

程序員從心理上講都是喜愛自己的代碼的。

Life-Experience爛程序員不喜歡去修改已經(jīng)寫成的爛代碼。相比起優(yōu)化自己的代碼,他們更愿意簡(jiǎn)單的增加更多的代碼,以此來彌補(bǔ)之前的缺陷。更糟糕的是,他們喜歡把責(zé)任歸咎于他人。最終,一堆不好用的代碼上在來另外一堆不好用的代碼,整個(gè)系統(tǒng)變得到處是bug,極不穩(wěn)定。

優(yōu)秀的程序員經(jīng)常也會(huì)寫出爛代碼,但他們能看到那些代碼需要優(yōu)化,哪些需要重寫。優(yōu)秀的程序員和不優(yōu)秀的程序員的區(qū)別就在于對(duì)有問題的代碼的態(tài)度,優(yōu)秀的程序員的做法是:

  • 如果代碼整體上好的,那就重構(gòu)代碼。

  • 如果代碼整體上有問題,那就重新代碼

[[113823]]當(dāng) 代碼中有需要優(yōu)化或需要重寫的地方時(shí),時(shí)間拖的越久,你就越難回頭解決這些問題。因?yàn)閷?duì)這些代碼依賴的程序會(huì)越來越多,越來越深,當(dāng)你優(yōu)化這些代碼時(shí),相 關(guān)的依賴也需要進(jìn)行相關(guān)修改。當(dāng)積累的問題越來越多時(shí),輕松的優(yōu)化/重新這些代碼已經(jīng)變得不可能。而使用繼續(xù)增加代碼的方式來彌補(bǔ)之前代碼問題,會(huì)讓系統(tǒng) 變得越來越不穩(wěn)定。

如果腦子里沒想清楚,那就懶一些,把寫代碼的時(shí)間往后推。

 

英文原文:Productive Developers are Smart and Lazy

譯文來源:http://www.vaikan.com/productive-developers-smart-lazy/

責(zé)任編輯:林師授 來源: 外刊IT評(píng)論 編譯
相關(guān)推薦

2013-05-07 09:11:26

程序員程序員特征

2015-08-13 08:56:40

高效程序員共同特征

2020-02-22 21:51:43

程序員Microsoft SServerSQL

2014-09-11 09:25:15

程序員

2013-12-24 09:59:48

程序員管理

2021-03-03 23:25:28

程序員工具效率

2011-09-26 09:40:48

2009-09-23 09:32:42

程序員被解雇

2015-03-25 13:16:55

SQL Server數(shù)據(jù)庫(kù)安全開發(fā)人員

2020-08-06 13:05:10

程序員網(wǎng)頁(yè)數(shù)據(jù)

2013-06-09 13:24:00

程序員Bug

2011-06-03 09:58:03

結(jié)對(duì)編程程序員

2020-11-08 14:40:37

程序員編程

2013-07-11 17:18:17

程序員習(xí)慣

2021-03-30 22:54:10

程序員IT互聯(lián)網(wǎng)

2019-04-16 14:03:47

編程程序員代碼

2013-08-20 09:33:59

程序員

2011-05-13 14:34:02

程序員

2019-12-09 16:18:08

程序員數(shù)據(jù)庫(kù)技術(shù)

2021-08-10 14:21:02

開發(fā)程序員工具
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)