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

編程王道,唯“慢”不破

新聞
我爸常跟我說的一句話是,慢一點碼,才能快點把程序?qū)懲辍?/div>

  我爸常跟我說的一句話是,慢一點碼,才能快點把程序?qū)懲辍?/p>

  我在舊金山很多家互聯(lián)網(wǎng)公司工作過,現(xiàn)在已經(jīng) 52 歲了,對于程序猿這個職業(yè)來說,我的年齡算偏大的。我寫代碼的速度近乎龜速,事實上,我更像是一個會寫代碼的設(shè)計師。

  以前有一次,我和一些比較年輕的程序猿一起工作,他們信奉的編程宗旨是“速度快、更迭少”。我們在同一個 codebase 里合作,就像在共同煮一大鍋湯一樣。如果我們每個人都持續(xù)不間斷的貢獻(xiàn)代碼的話,未來這個工程應(yīng)該就會很美很壯觀的呈現(xiàn)出來。

  但是并沒有。

  問題在于,這些年輕的程序猿們在心里其實有這么一種思想,他們覺得:1、每個人都是可替代的;2、沒人應(yīng)該對某一部分的具體代碼負(fù)責(zé);3、所有人應(yīng)該都可以任意修改整個工程的代碼。

  他們覺得,現(xiàn)在已經(jīng)有了github這種神器用來管理異步時間內(nèi)的代碼貢獻(xiàn),只要每個人都持之以恒的貢獻(xiàn)代碼,工程和產(chǎn)品就會順理成章的出爐了。

[[123769]]

 

  事實不是這樣的。編程從來就不應(yīng)該是拿工具來減少軟件開發(fā)的時間的。

  編程應(yīng)該是一項有節(jié)奏感有韻律的運動。我傾向于把工程依照不同的規(guī)模和時間度量分成不同的涂層,每一個涂層再從探索、實驗、error、臨時變量這些細(xì)小的東西開始做起。有點像建設(shè)腳手架的形式。每一個涂層最終完成的時候是一段可以部署和擴展的 implementation-ready 代碼。這種開發(fā)過程有點像是從策略到設(shè)計方案***到完成一棟真正的建筑。

  有時候當(dāng)這棟建筑完成之后,我還會推倒重來一遍,因為我覺得我有更好的建筑方法。這種新的方法有時候是對的,有時候是錯的,事實上除非真正去再做一遍,不然你永遠(yuǎn)無法知道究竟哪一種方法更好。

 

  回到最初那鍋湯的問題:在軟件開發(fā)生態(tài)圈里,關(guān)于對整個設(shè)計流程產(chǎn)生推動與支持的混合思考是很重要的,沒有這一部分的工作,再快的程序猿又能做出多好的設(shè)計?很多神經(jīng)系統(tǒng)科學(xué)家相信神經(jīng)元信息的流動在大腦的傳導(dǎo)過程中會有一個短暫的堵塞和混響,這對思維和感知會有很重要的作用。編程的設(shè)計也應(yīng)該是這樣,需要時間。

  慢速編程運動

  慢速編程運動在維基百科里的解釋是這樣的:慢速編程運動是慢速運動的一部分,這是一種強調(diào)謹(jǐn)慎設(shè)計、高質(zhì)量代碼、軟件測試和思考的軟件開發(fā)哲學(xué),反對混雜組裝、布滿 bug 的代碼,以及過于快速的發(fā)布周期。

  世界上的軟件開發(fā)團隊都在尋找更具預(yù)測性的工程項目,希望能促成更多的程序員擁有可持續(xù)性的職業(yè)生涯。他們提議了一些可以切身操作的實踐方法,比如結(jié)對編程、代碼審查和代碼重構(gòu),以開發(fā)更可靠更健壯的軟件應(yīng)用。

  在舊金山海灣地區(qū),風(fēng)險投資支持的軟件開發(fā)正呈現(xiàn)出一種高燒般的熱度。利益正驅(qū)動著軟件開發(fā)以一種完全不自然的不對拍的節(jié)奏感在運動,它打亂了設(shè)計進(jìn)化(design evolution)原本應(yīng)有的周期節(jié)律和生物鐘。關(guān)于這一點,Rushkoff在Present Shock里說得很明白了。

  另一個問題在于,人們對科技越來越詭異的迷戀,以及開發(fā)人員對工具異常的狂熱。大家總在說,為什么有的軟件和應(yīng)用做得這么爛?沒錯,確實很爛。爛的原因在于,太多一味求快的程序猿在忙著建設(shè)工具,然后用這個工具去支持和適配另一個他們建好的工具,然后再用這個工具去支持和適配另另一個他們建好的工具,然后再用這個工具幫他們寫出更快的代碼。

  這就是我為什么覺得軟件開發(fā)需要更多的“人”,而不是“工具”的原因。并且,這些人不僅僅只是幫忙做做外面的 UI 藝術(shù)之類的而已,應(yīng)該要有更多的人深入軟件開發(fā)的內(nèi)部——確保軟件更多的與人文產(chǎn)生共鳴和回響。

  當(dāng)我們談?wù)摼幊虝r,我們在談?wù)撌裁?

  編程不是打字。

  所有的程序猿都明白這一點,但是大部分人都容易忘記這一點。

[[123770]]

 

  我妻子有時會跑到院子里問我,你在編程嗎?我說,對,我在編程。事實上我可能正拿著鉗子修剪花盆里的花草,或者做做施化肥之類的事情。

  植物、土壤、鉗子,這些都是編程的好工具,正如鍵盤、鼠標(biāo)和雙屏幕一樣。

  目前,我們正在經(jīng)歷一個經(jīng)濟產(chǎn)業(yè)的轉(zhuǎn)型期,從新興到可持續(xù)發(fā)展之間的一次過渡。新的軟件產(chǎn)品和商業(yè)模式是需要發(fā)展,但為了互聯(lián)網(wǎng)行業(yè)發(fā)展的可持續(xù)性,這種速度應(yīng)該降下來一些了。擼代碼不僅僅只是在擼當(dāng)下用戶的需求,擼的更是未來某個行業(yè)領(lǐng)域的架構(gòu)基礎(chǔ)。代碼應(yīng)該在程序員的關(guān)愛下慢慢的、茁壯的成長。Like good wine. Like a baby.

責(zé)任編輯:市場部 來源: 36Kr
相關(guān)推薦

2014-12-04 15:19:51

程序員

2018-06-19 16:48:42

華為

2021-01-26 09:19:58

Redis框架架構(gòu)

2018-04-13 10:36:44

Web應(yīng)用優(yōu)化

2012-12-24 09:57:58

ERPDynamics AX

2020-06-22 13:43:46

代碼編碼語言

2016-08-01 10:38:14

華為

2017-06-20 11:10:13

2022-02-21 09:35:36

機器學(xué)習(xí)自然語言模型

2018-12-19 06:38:01

Wi-Fi 6Wi-Fi網(wǎng)絡(luò)

2021-02-23 10:15:31

軟件開發(fā)IT領(lǐng)導(dǎo)者首席信息官

2025-06-25 09:31:41

2025-08-26 09:12:00

2021-03-03 11:36:00

嵌入式項目開發(fā)字符串格式化

2018-01-25 12:01:08

阿里巴巴機器學(xué)習(xí)大數(shù)據(jù)

2018-01-26 16:28:24

阿里Blink核心

2020-01-16 16:20:55

網(wǎng)絡(luò)安全數(shù)據(jù)技術(shù)

2018-07-18 12:43:13

多云云計算云技術(shù)

2020-02-21 16:20:37

系統(tǒng)驅(qū)動項目管理
點贊
收藏

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