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

NB!他12歲就能寫代碼,為數(shù)百萬程序員引路~

發(fā)布于 2024-4-19 15:36
瀏覽
0收藏

好的故事總能激勵人前行,好的工作也是一個(gè)巨大的跳板!以及最關(guān)鍵的是敢于對你領(lǐng)導(dǎo)的不合理要求說“NO”!它不僅有助于保護(hù)我們自己的職業(yè)健康,也能真的確保項(xiàng)目以更合理和高效的方式推進(jìn)~


這對你來說也許是一個(gè)好的“跳板”,??前后端/測試崗 ??均可投:點(diǎn)它即可


Robert C. Martin,世界級編程大師,設(shè)計(jì)模式和敏捷開發(fā)先驅(qū),敏捷聯(lián)盟首任主席,C++ Report前主編,被后輩程序員尊稱為“Bob大叔”。20世紀(jì)70年代初成為職業(yè)程序員,后創(chuàng)辦Object Mentor公司并任總裁。

NB!他12歲就能寫代碼,為數(shù)百萬程序員引路~-AI.x社區(qū)

Robert C. Martin

Martin還是一名多產(chǎn)的作家,至今已發(fā)表數(shù)百篇文章、論文和博客文章。著有《代碼整潔之道》《代碼整潔之道:程序員的職業(yè)素養(yǎng)》《敏捷軟件開發(fā):原則、模式和實(shí)踐》《UML:Java程序員指南》等。


著名的對象范型和C++專家考帕里安(James O. Coplien)曾這樣評價(jià)Bob大叔:

那班求索者多年來并肩奮斗,不但是為求一己之進(jìn)步,更將他們的知識通過和你手上正在做的事一般的工作奉獻(xiàn)給這個(gè)行業(yè),使得編程世界略有改善。


天才少年Bob的成長之路

1964年,12歲的Bob寫下人生第一行代碼。1965年,Bob開啟了人生中算得上專業(yè)的第一次合作,與小搭檔John Marchese一起造電腦,Bob思考,John動手,兩個(gè)人忙活了數(shù)百個(gè)小時(shí),搗鼓出了不少看著相當(dāng)有型的家伙,上面裝著繼電器、按鈕、小燈,甚至還安裝了一個(gè)電傳打字機(jī)!雖然這些電腦沒法用,但是看起來真的很棒,他們也確實(shí)很用心,這對于兩個(gè)13歲的小朋友來說,相當(dāng)了不起了!


1968年,在中學(xué)第一年認(rèn)識了新的小伙伴Tim Conrad,開始了新一輪的造電腦工程,這次由Tim思考,Bob動手,Tim還教給了Bob一些電子學(xué)知識,Tim也是第一個(gè)給Bob介紹PDP-8的人。他們用了一些很基礎(chǔ)的元器件,真的造出了一臺可以工作的18位二進(jìn)制計(jì)算器,能夠進(jìn)行加減乘除的運(yùn)算,他們興奮極了,那年他們把所有的假期都投了進(jìn)去。

后來,他們還自學(xué)了計(jì)算機(jī)課程,在那個(gè)年代,這是一個(gè)相當(dāng)不容易的事情,但他們做到了。他們特別找來了有關(guān)PDP-8匯編器、FORTRAN、COBOL、PL/1,他們就像海綿一般在書中汲取知識,并寫了一堆根本根本沒有可能去實(shí)際執(zhí)行的程序,因?yàn)槟菚r(shí)根本沒有計(jì)算機(jī)可以供實(shí)操,但純粹出于愛好,他們?nèi)匀蛔巫尾痪雽懥嗽S多程序。


1969年,Tim、Bob以及他們的伙伴Richard Lloyd成為了ACS公司的程序員,為芝加哥卡車司機(jī)工會開發(fā)實(shí)時(shí)會計(jì)系統(tǒng)。17歲的他們覺得上大學(xué)是浪費(fèi)時(shí)間,決定馬上進(jìn)入職場,在那里他們遇到了Bill Hohri、Frank Ryder、Big Carlin和John Miller,他們?yōu)檫@些年輕人提供了學(xué)習(xí)專業(yè)編程的實(shí)戰(zhàn)機(jī)會,Bob在其中頗受教益。

這份工作經(jīng)歷也讓Bob意識到,作為一個(gè)程序員還應(yīng)該具備某些素養(yǎng),例如對著你的上司,說“YES”和“NO”。

Bob在ASC工作時(shí),他的上司 Frank 是一位退役的空軍上校,這位領(lǐng)導(dǎo)的處事風(fēng)格雷厲風(fēng)行:我發(fā)出指令、你們按時(shí)上線。初入職場的一眾小年輕,包括Bob,根本不敢看他的眼睛,更不敢抗議時(shí)間不夠,最終的結(jié)果是系統(tǒng)按時(shí)上線,故障頻發(fā),無限次數(shù)的系統(tǒng)崩潰、系統(tǒng)重啟。


Bob認(rèn)為,程序員往往太容易說“YES”,總是在沒有明確目標(biāo)和期限的情況下,就第一時(shí)間草率地給出了確認(rèn)的答復(fù),任務(wù)交付時(shí)卻無法實(shí)現(xiàn)自己的承諾。

有時(shí)候,獲取正確決策的唯一途徑,便是勇敢無畏地說出“不”字……我們要明白,委屈專業(yè)原則以求全, 并不是問題的解決之道。舍棄這些原則,只會制造出更多的麻煩。

只要你愿意嘗試,在工作中對著那些不合理的工作任務(wù),主動說幾次“NO”,之后你會逐漸發(fā)現(xiàn):你只需要花三分的力氣去拒絕那些無法完成的工作任務(wù),就可以節(jié)省十分甚至二十分開發(fā)的時(shí)間;相反,如果在沒有明確目標(biāo)和期限的情況下,就草率給出了確認(rèn)的答復(fù),往往會非常被動,到最后,項(xiàng)目就落得著名的 IBM OS/360 操作系統(tǒng)的失敗下場。

在Bob的經(jīng)典書籍《代碼整潔之道》中也提到,作為一個(gè)程序員不僅是懂得“NO”背后所蘊(yùn)含的意義和責(zé)任,“YES”背后的意義和責(zé)任同樣重要。


(說“YES”時(shí))你對自己將會做某件事做了清晰的事實(shí)陳述,而且還明確說明了完成期限。那不是指別人, 而是指你自己。你陳述的是自己會去執(zhí)行的一項(xiàng)行動,而且,你不是“可能”去做,或是“可能做到”,而是 “會”做到。

但“YES”背后常常跟著的是屢見不鮮的項(xiàng)目延期,絕大部分原因就是在這種不負(fù)責(zé)任的情況下說 “YES”導(dǎo)致的。


在Bob的學(xué)生時(shí)代、職業(yè)生涯中,直接導(dǎo)師并不多,因?yàn)樗某砷L的年代中并沒有很多有經(jīng)驗(yàn)的老師、程序員。Bob在工作項(xiàng)目的摸索及讀一些杰出人物的著作來汲取知識、積累經(jīng)驗(yàn),這些人包括Grady Booch(《UML用戶指南》作者), Tom DeMarco(《項(xiàng)目百態(tài)》作者), Meilir Page-Jones(《UML 面向?qū)ο笤O(shè)計(jì)基礎(chǔ)》作者), Erich Gamma(《設(shè)計(jì)模式》作者), Martin Fowler(《重構(gòu)》作者), Bertrand Meyer(《面向?qū)ο筌浖?gòu)造》作者), Kent Beck(《測試驅(qū)動開發(fā)》作者),等等。Bob感覺這些教導(dǎo)都是充滿價(jià)值的。

隨后Bob在Teradyne工作,他從老板、工作伙伴們的身上學(xué)到了許多他認(rèn)為有價(jià)值的東西,特別是Mike Carew,他們成為了黃金搭檔,“如果你想活兒干得又快又好,就把他交給Bob和Mike!“他們共事的時(shí)光充滿歡樂。


糟糕的代碼能讓一個(gè)公司關(guān)門大吉!

在一個(gè)項(xiàng)目中,某位同事花三個(gè)星期寫完一串代碼后離職了,在沒有批注、沒有規(guī)律的情況下,果然沒有人能夠理解這串代碼,最終只能由新的同事重新撰寫。這段經(jīng)歷讓他從此對代碼的整潔深感重視。

1987年,Bob開始和Jim Newkirk搭檔,隨后他們相繼離開Teradyne,加入了Clear Communication。

于此同時(shí),有家公司寫了一個(gè)很流行的殺手應(yīng)用,許多專業(yè)人士都買來用,包括Bob。然后,發(fā)布周期開始拉長,缺陷總是不能修復(fù),裝載時(shí)間越來越久,崩潰的概率也越來越大,至今Bob還記得自己在某天沮喪地關(guān)掉那個(gè)程序,從此再不用它時(shí)的絕望心情。果不其然,在那之后不久,該公司就關(guān)門大吉了。

后來,Bob見到那家公司的一位早期雇員,問他發(fā)生了什么事,而他的回答令Bob愈發(fā)恐懼起來。原來,當(dāng)時(shí)他們趕著推出產(chǎn)品,代碼寫得亂七八糟,特性越加越多,代碼也越來越爛,最后再也沒法管理這些代碼了,只好放著不管,最終,糟糕的代碼毀了這家公司。這個(gè)事情更是讓Bob確定了代碼的整潔是需要引起重視的,軟件質(zhì)量,不但依賴架構(gòu)及項(xiàng)目管理,而且與代碼質(zhì)量緊密相關(guān),但當(dāng)時(shí)的他并沒有能力來改變這一切。

99%的程序員都在為糟糕代碼頭痛!

Bob和Jim一起在Clear Communication拼搏了好幾年后,共同創(chuàng)辦了Object Mentor公司,Bob認(rèn)為,在他有幸共事過的人中,Jim是最率直、最嚴(yán)謹(jǐn)和最專注的人,從Jim身上獲益良多。

直到現(xiàn)在,Bob仍堅(jiān)持閱讀這一習(xí)慣,每天花費(fèi)大量的時(shí)間閱讀,甚至包括博客和文章,從中緊跟科技發(fā)展。他曾坦言自己一直都在尋找值得一讀的好書。

想到那個(gè)困擾了他許久的難題,也是大部分程序員都遭遇過的難題——糟糕的代碼,他本能的就想迎頭而上,像他的導(dǎo)師們一樣,像Jim一樣,給別人帶來幫助。于是,他開始寫作,在《代碼整潔之道》一書中分享了自己多年編程生涯所累積的項(xiàng)目實(shí)踐經(jīng)驗(yàn),將代碼整潔的多種解決辦法傾囊相授,受到了廣大程序員的喜愛及追捧。


Bob曾在為 ASD 所寫的序中寫道:

最好的軟件開發(fā)人員都知道一個(gè)秘密:美的東西比丑的東西創(chuàng)建起來更廉價(jià),也更快捷。

而構(gòu)建、維護(hù)一個(gè)美的軟件系統(tǒng)所花費(fèi)的時(shí)間、金錢都要少于丑的系統(tǒng)。

美的系統(tǒng)是靈活、易于理解的,構(gòu)建、維護(hù)它們就是一種快樂。

如果說 ASD 中更多的是設(shè)計(jì)思想和模式精髓的闡述,那么在《代碼整潔之道》中,Bob 為程序員們提供了更為詳盡的微距視角,涉及“命名”、“函數(shù)”、“代碼格式”、 “異常處理”、“單元測試”等編碼主題,巨細(xì)靡遺地向軟件工匠們極力傳授整潔編碼的藝術(shù),進(jìn)一步向軟件開發(fā)社區(qū)慷慨分享了他在探索“軟件之美”旅途中的參證心得。


Bob還在書中提出一種觀點(diǎn):代碼質(zhì)量與其整潔度成正比。干凈的代碼,既在質(zhì)量上較為可靠,也為后期維護(hù)、 升級奠定了良好基礎(chǔ)。他認(rèn)為,無論是敏捷開發(fā)流派還是傳統(tǒng)開發(fā)流派,想要保證軟件質(zhì)量,不僅僅依賴架構(gòu)及項(xiàng)目管理,更與代碼質(zhì)量緊密相關(guān)。


《代碼整潔之道》中提到 Bob大叔認(rèn)為把代碼變得整潔的,就首先要了解三個(gè)注釋,即:

  • 不恰當(dāng)?shù)男畔?/li>

讓注釋傳達(dá)本該更好地在源代碼控制系統(tǒng)、問題追蹤系統(tǒng)或任何其他記錄系統(tǒng)中保存的信息,是不恰當(dāng)?shù)摹@?,修改歷史記錄只會用大量過時(shí)而無趣的文本搞亂源代碼文件。通常,作者、最后修改時(shí)間、 SPR 數(shù)等元數(shù)據(jù)不該在注釋中出現(xiàn)。注釋只應(yīng)該描述有關(guān)代碼和設(shè)計(jì)的技術(shù)性信息。

  • 廢棄的注釋

過時(shí)、無關(guān)或不正確的注釋就是廢棄的注釋。注釋會很快過時(shí)。最好別編寫將被廢棄的注釋。如果發(fā)現(xiàn)廢棄的注釋,最好盡快更新或刪除。廢棄的注釋會遠(yuǎn)離它們曾經(jīng)描述的代碼,變成代碼中無關(guān)和誤導(dǎo)閱 讀者的浮島。

  • 糟糕的注釋

值得編寫的注釋,也值得好好寫。如果要編寫一條注釋,就花時(shí)間保證寫出最好的注釋,字斟句酌,使用正確的語法和拼寫,別閑扯,別畫蛇添足,要保持簡潔。

糟糕的代碼最終會成為吞噬人的黑洞

NB!他12歲就能寫代碼,為數(shù)百萬程序員引路~-AI.x社區(qū)

上面的圖片是《代碼整潔之道》的封面,是用來自于哈勃望遠(yuǎn)鏡那副著名的可見光相片和Spitzer(斯比澤)軌道探測器最新紅外影像組合而成的M104:草帽星系,它坐落于處女座,離地球僅3000萬光年,其核心是一個(gè)質(zhì)量超大的黑洞,有100萬個(gè)太陽那么重,仿佛經(jīng)歷了大爆炸之后碎片四濺的產(chǎn)物。

讓人不禁聯(lián)想到那些代碼不整潔、風(fēng)格各異且不可維護(hù)的項(xiàng)目,就像一個(gè)個(gè)的黑洞,存在著某天會定時(shí)爆發(fā)的風(fēng)險(xiǎn),而當(dāng)它真正爆發(fā)時(shí),這個(gè)項(xiàng)目的所有人都會因此遭殃。

當(dāng)你負(fù)責(zé)一個(gè)小型項(xiàng)目時(shí),如果追求速度,力求快速出成果,這時(shí)可以率性而為。當(dāng)項(xiàng)目逐漸擴(kuò)大,規(guī)范就會逐步顯出它的重要性。在軟件開發(fā)中也是一樣,歸置到位的工具能提升生產(chǎn)力。軟件質(zhì)量,不但依賴于架構(gòu)及項(xiàng)目管理,而且跟代碼質(zhì)量息息相關(guān)。代碼質(zhì)量與其整潔度成正比。干凈的代碼,既在質(zhì)量上較為可靠,也為后期維護(hù)、升級奠定了良好的基礎(chǔ)。


世界級軟件開發(fā)大師的多重身份

如今,Bob除了寫作,還會為 cleancoders.com制作視頻,也會技術(shù)會議上講話,從世界級軟件開發(fā)大師到暢銷專業(yè)書籍作家再到臺前傳達(dá)專業(yè)領(lǐng)域知識的權(quán)威人物,Bob給我們帶來一次次驚喜。


在這個(gè)過程中,他發(fā)現(xiàn)自己不止在編程方面頗有心得,對于站在人前傳達(dá)信息這件事也頗有天賦。


我們覺得他“變身”了,想知道他是如何從一位職業(yè)的程序員變身成為這個(gè)領(lǐng)域的導(dǎo)師,但對他來說,這是一個(gè)緩慢的成長過程:“我花了整整20年來積累工作經(jīng)驗(yàn),又花了20年才做到今天的成就?!兩怼瘡膩矶疾皇俏乙饬现械氖?,也不是我的目的;但這個(gè)過程對我來說是一種享受”。


其實(shí),看了關(guān)于Bob的介紹和評價(jià),我作為一名程序員,是十分激動和受鼓舞的。對編程也有了更深的理解和尊重。他的故事告訴我們,編程不僅僅是寫代碼,更是一種藝術(shù),一種追求卓越和美的過程。編程不僅是一份工作,更是一種生活態(tài)度和追求。通過不斷學(xué)習(xí)和分享,我們真的可以讓編程世界變得更加美好。

1
收藏
回復(fù)
舉報(bào)
1條回復(fù)
按時(shí)間正序
/
按時(shí)間倒序
wx65af60231fbe2
wx65af60231fbe2

看了又給自己打了個(gè)雞血,咋說呢,還是要往前走的

回復(fù)
2024-5-24 15:26:53
回復(fù)
相關(guān)推薦