偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

復(fù)雜是大敵-程序員開發(fā)指導(dǎo)

開發(fā) 后端
本文是從 Complexity is the enemy 這篇文章翻譯而來(lái)。希望對(duì)大家有所幫助。

差不多在Google工作有7個(gè)年頭了(!)。我在這學(xué)到了很多東西,寫都寫不完。然而不管怎樣,我至少要向你們分享一條只有在我有了更多經(jīng)驗(yàn)后才得到的東西。

復(fù)雜是軟件的死神。你無(wú)法用數(shù)字評(píng)估它所造成的代價(jià),它會(huì)悄悄慢慢的出現(xiàn),就像是用小火在煮你,讓軟件變得越來(lái)越糟,你很難察覺(jué)到,而當(dāng)你察覺(jué)到時(shí),那已經(jīng)太晚了。在另一方面,你經(jīng)常的會(huì)很容易的看到增加復(fù)雜度帶來(lái)的好處:增加一個(gè)新的擴(kuò)展層,你可以實(shí)現(xiàn)新功能X,或把本來(lái)運(yùn)行在一個(gè)機(jī)器上的進(jìn)程分成兩個(gè),用來(lái)解決當(dāng)前系統(tǒng)的擴(kuò)展瓶頸。但現(xiàn)在你的大腦里必須想著這個(gè)新增加的層,或這還要實(shí)現(xiàn)一個(gè)遠(yuǎn)程調(diào)用層來(lái)管理這兩臺(tái)機(jī)器。

基本上,程序員老手和新手一樣都很容易出現(xiàn)上面的情況。我認(rèn)為這些年我在這個(gè)行業(yè)里學(xué)到的只是更擅長(zhǎng)在兩者之前取得平衡;何時(shí)復(fù)雜一點(diǎn)是合理的,何時(shí)必須要拒絕。我經(jīng)?;叵肫鹨粋€(gè)朋友在Ken Thompson寫的Go語(yǔ)言編譯器上的一句評(píng)論:它很快,因?yàn)樗鼪](méi)有做多少事,代碼直接明了。

事實(shí)表明,就像你能很容易的寫出一篇很長(zhǎng)的博客但把相同的觀點(diǎn)敘述的簡(jiǎn)明扼要卻很難,你很難把軟件寫的簡(jiǎn)單明了。在編程語(yǔ)言的設(shè)計(jì)上你最容易看出這一點(diǎn);新手設(shè)計(jì)出的語(yǔ)言總是包含大量的功能特征,而很少像C語(yǔ)言那樣清爽明晰。如今的程序,動(dòng)不動(dòng)就牽涉多少個(gè)對(duì)象;這在分布式系統(tǒng)里就意味這你要移動(dòng)多少的東西。

另外一個(gè)用來(lái)描述這個(gè)問(wèn)題的詞是“才智”:引用另外一個(gè)C程序員的話,“調(diào)試糾錯(cuò)程序比第一次編寫出這程序要困難兩倍,如果你是用盡了你所有的聰明才智寫出這程序,那根據(jù)這定義,你就沒(méi)有最夠的才智去調(diào)試debug它了?!?/P>

建議嗎?我懷疑只有通過(guò)經(jīng)驗(yàn)才能理解這個(gè)道理——有一個(gè)事很刺激我,太多的項(xiàng)目里都有人認(rèn)為元數(shù)據(jù)編程很酷。我發(fā)現(xiàn)制定一個(gè)詳細(xì)的設(shè)計(jì)目標(biāo)來(lái)評(píng)估新代碼是否有必要,這很有幫助。如果你可以說(shuō)“這些代碼不能幫助項(xiàng)目的最初設(shè)計(jì)目標(biāo)上解決任何問(wèn)題”,你就能很容易的拒絕這些代碼。在Google,用來(lái)描述一個(gè)新項(xiàng)目的設(shè)計(jì)方案的文檔模板上,在其右上角有個(gè)區(qū)域?qū)iT列著目標(biāo)外內(nèi)容:對(duì)項(xiàng)目的合理擴(kuò)展將會(huì)被拒絕。

很諷刺的是,我發(fā)現(xiàn)使用弱智的工具或語(yǔ)言能幫助我們抵制復(fù)雜。你很難寫出一個(gè)很復(fù)雜的C程序,因?yàn)樗锩鏇](méi)有太多的東西。C程序大多用大量的數(shù)組,因?yàn)槟阒荒苡盟?,但結(jié)果卻證明,數(shù)組是非常好的東西——緊湊的內(nèi)存使用,O(1)次的數(shù)據(jù)訪問(wèn),很好的數(shù)據(jù)存儲(chǔ)。但我從來(lái)沒(méi)有倡導(dǎo)過(guò)特意的使用一種弱智的工具。相反,我的心得是:像C一樣編寫Python程序。

【編輯推薦】

  1. 這是給開發(fā)者的彌天大謊還是至理名言?
  2. 開發(fā)者應(yīng)該具備的15個(gè)編程好習(xí)慣
  3. 優(yōu)秀的PHP開發(fā)者是怎樣煉成的?
  4. PHP開發(fā)者常犯的10個(gè)MySQL錯(cuò)誤
  5. 程序員工資禁忌 你可知道?
責(zé)任編輯:金賀 來(lái)源: 博客園
相關(guān)推薦

2015-04-10 19:37:34

程序員

2009-09-08 17:57:01

敏捷開發(fā)

2021-02-20 13:55:35

程序員計(jì)算機(jī)技術(shù)

2013-04-17 10:28:40

程序員

2013-04-22 09:05:11

程序員

2013-07-24 14:17:10

2013-08-20 09:33:59

程序員

2012-03-06 09:22:46

程序員

2019-11-27 10:08:36

程序員技能開發(fā)者

2019-04-10 16:17:02

程序員結(jié)構(gòu)源代碼

2015-02-03 02:40:33

程序員盲人程序員

2009-06-02 13:43:04

程序員定義職場(chǎng)

2013-11-04 09:39:16

程序員信仰

2013-06-08 14:12:13

程序員招聘

2010-03-02 10:13:56

程序員面試

2012-12-03 10:22:24

程序員

2013-08-30 09:54:18

2009-02-23 13:05:32

程序員學(xué)習(xí)方法

2012-06-25 10:05:10

程序員

2020-12-07 11:29:24

ReactVueVue3
點(diǎn)贊
收藏

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