<code id="ebytu"><sup id="ebytu"><track id="ebytu"></track></sup></code>
    <td id="ebytu"><option id="ebytu"></option></td>
    <pre id="ebytu"><label id="ebytu"><menu id="ebytu"></menu></label></pre>
    <acronym id="ebytu"><label id="ebytu"><xmp id="ebytu"></xmp></label></acronym>
  1. <td id="ebytu"></td>

    <track id="ebytu"><ruby id="ebytu"></ruby></track>

            也許這個人能拯救你的代碼——敏捷史話(06)

            發表于:2022-12-15 09:41

            字體: | 上一篇 | 下一篇 | 我要投稿

             作者:禪道項目管理軟件團隊    來源:51Testing軟件測試網原創

              第六章 也許這個人能拯救你的代碼——Robert C. Martin
              Robert C. Martin(羅伯特·C·馬。,作為世界級軟件開發大師、設計模式和敏捷開發先驅、C++ Report雜志前主編,也是敏捷聯盟(Agile Alliance)的第一任主席,我們尊稱他為“Bob大叔(Uncle Bob)”。
              如今,年逾六十的Bob大叔過著典型的“斜杠”生活,他不僅是優秀的程序員、暢銷書作家、演講家,以及視頻制作者,還是一名柔術愛好者。多年學習柔術的經歷,帶給他的除了強健的身體之外,還有從中受到的有關“匠藝”的熏陶。他經常受邀去各地進行演講,向當下年輕一代的程序員們分享他所理解的敏捷,F在,Bob大叔也常常在Twitter的賬號(@Uncle Bob Martin)以及個人網站(cleancoder.com)上發表自己的觀點、文章。
              Bob大叔認為,敏捷不是項目管理方法,而是一套價值觀和紀律,可以幫助相對較小的團隊構建中小型產品。這一觀點的提出源于他無數次的親身項目實踐。
              瀑布開發之旅
              1970年,18歲的Bob在一家名為A.S.C.Tabulating公司做程序員,起初寫代碼的時候,Bob及其團隊度過了一段艱難的日子。當時的工作是劃分白班和夜班的,白班時,程序員先用鉛筆把代碼寫在編碼表格上,然后用打孔機在卡片上打孔,把仔細檢查過的卡片交給計算機操作員,操作員則在夜班時進行編譯和測試。但這一番操作下來,通常會花費幾天的時間,且之后的每一輪修改都會花費大約一天的時間,團隊就在日復一日地編碼、編譯、測試、修復Bug。這種開發模式在當時尤為普遍,因此生產效率低下的問題亟待解決。
              為了縮短開發過程中反饋的時間,瀑布模型應運而生。該模型很好地解決了生產效率問題,并在70、80年代間迅速地占據了軟件開發的大半江山,Bob及其團隊也開始了“瀑布開發”之旅。
              但是想象中精細的計劃、完美的策略所打造的卓越成果并沒有出現,Bob只能重新尋找能真正符合他期許的開發流程。在尋找過程中,34歲的Bob與搭檔Jim Newkirk(吉姆·紐柯克)相繼加入新的公司——Clear Communication。與此同時,有家公司寫了一個很流行的殺手應用,許多專業人士都買來用,這其中也包括Bob。之后令人感到失望的是,這一應用的版本發布周期變得越來越長,Bug開始積壓,加載的時間也越來越長,系統崩潰的概率也越來越大。最終,大多數用戶都選擇不再使用這個程序。果不其然,不久,該公司就關門大吉了。
              故事到這里還沒有結束,偶然一天,Bob見到了那家公司的員工,才從這名員工的口中得知整個事情的前因后果:當時公司為了推動產品提早發布,非但沒有重視代碼質量,還一味地追求速度,導致代碼亂七八糟,無法進行修改或管理,最終公司經營慘淡,宣布倒閉!扒Ю镏,潰于蟻穴”,從這一事件中,Bob得出一個結論:代碼的整潔是需要引起重視的。他認為,軟件質量不僅依賴軟件架構及項目管理,還與代碼質量緊密相關。
              意識到代碼整潔的重要性之后,Bob心想,如果把瀑布模型與代碼整潔結合在一起,那一定很完美。于是,在接下來很長的一段時間里,他同團隊一起試圖按照“分析—設計—編程”的方式實現產品交付。但這行不通。事實上,即使大家對代碼整潔做出了規定,并且每次對需求的分析與設計非常正確,但一旦進入開發階段,事情就開始變得不可控了,總是會因為突如其來的需求變化而打亂之前的計劃,導致產品交付不能如期進行。在一次一次的實踐過程中,Bob逐漸發現瀑布開發束縛住了自己的思想。就在他覺得連代碼整潔也拯救不了這混亂流程的時候,敏捷開發初見苗頭。
              敏捷開發的萌芽
              20世紀90年代初,敏捷先驅們陸續發布了關于Scrum的文章。Bob接收到這一變革的信號后,突然有種預感:團隊可以嘗試一種新方式了。這一預感在他偶然接觸到Kent Beck(肯特·貝克)關于極限編程的著作之后成真了。Bob先后幾次拜訪Kent,從他那里深入了解了極限編程(XP),并對測試驅動開發(Test-Driven Development,TDD)進行了嘗試。這時的Bob才發現,原來在面向對象的環境中可以應用這樣的流程,原來一套可以信任的測試能夠使代碼修改變得異常簡單。當他覺得團隊完全可以在開發流程中,簡單并安全地修整代碼的時候,就無法再接受爛代碼了。
              受此啟發,Bob想圍繞代碼整潔和極限編程創建一個非營利組織,但這一想法在當時并未得到大多數人的認可。于是到2000年秋天,Bob又提出了一個想法:讓相互競爭的輕量級流程倡導者聚集在一起,形成一個統一的宣言。這個想法得到了Martin Fowler(馬丁·福勒)的大力支持,兩人一拍即合,隨即便開始著手準備會議的前期工作。在籌備的后期,又加入了一名意向者——Alistair Cockburn(阿利斯泰爾·科伯恩),Alistair的加入使這次的會議準備更加完備,并將會議地點定在雪鳥滑雪場,這樣,雪鳥會議就萬事俱備了。
              這次的雪鳥會議歷時兩天,十七位不同流派的敏捷大師在阿斯彭會議室里進行了長達兩天的討論,意在尋求所有輕量級過程和軟件開發的共同點,最終他們從交互、軟件、協作、變化等四個角度搭建出了敏捷價值觀及十二原則。但令人遺憾的是,為了求同存異,這次會議所簽署的《敏捷宣言》并未對“如何編程”這一部分作過多的解釋,同樣沒有將Bob一直提倡的代碼整潔納入。
              但這并不意味著Bob放棄了“代碼整潔”。2008年,Bob出版了《代碼整潔之道》一書,他在書中正式提出“代碼質量與其整潔度成正比”的觀點。這本書一經面世,就在軟件開發行業掀起了軒然大波!按a整潔”認為,整潔的代碼是自解釋的,閱讀代碼應該如同閱讀一篇優秀的文章,見字知意,能夠一下子明白大概的代碼功能!按a首先要能讀懂,其次才去要求功能實現”的理念得到了數百萬程序員的追捧。Bob大叔堅信,工作保證速度與質量的唯一方法就是盡可能地保持代碼整潔?墒呛芸,這個唯一的方法就不那么靈驗了。
              貫徹“匠藝精神”
              人們好像又陷入了一種誤區:只要實施敏捷,做好代碼規范就一定能給軟件項目帶來明顯改善。在這一誤區里,人們離真正的敏捷越來越遠。2011年,Bob出版《代碼整潔之道:程序員的職業修養》一書,引導讀者認識到專業程序員肩負的責任重大,以及什么才是程序員的職業素養。此外,Bob將“代碼整潔”在原有基礎上進行擴充:整整30年,大家一直受困于“用大團隊干大事”的觀念,根本不知道成功的秘訣其實在于用很多小團隊解決很多小問題,而這就需要每個程序員具備“匠藝精神”,從而引導開發人員回歸真正的敏捷。
              “匠藝精神”是指開發人員不再把工作當作簡單的上班打卡,而是基于把事情做好的渴望,來提供專業的服務。Bob提出的“匠藝精神”將關注點聚焦到了開發人員身上,并得到了很多開發人員的支持。為了提高軟件開發的水準,并重新明確敏捷最初的目標,一群開發人員于2008年聚集到芝加哥,發起了新的運動——軟件匠藝(Software Craftsmanship),并形成了一套核心價值觀。
              許多開發人員對敏捷未來的發展方向感到失望,這是催生軟件匠藝運動的誘因之一。一部分人覺得敏捷太過于業務,而另一部分人覺得匠藝太關注工程,因此認為敏捷與匠藝水火不容,但Bob大叔認為這兩種觀點都太絕對了!安徽撌敲艚葸是匠藝,本質都是為了交付高質量、有價值的工作,兩者缺一不可!67歲的Bob大叔如是說。2019年,為了引導新一代軟件開發者剛起步就把敏捷用對,他推出新作《敏捷整潔之道:回歸本源》,旨在幫助讀者理解敏捷價值觀與匠藝精神在敏捷團隊中的重要意義。
              如今,我們的Bob大叔——Robert C. Martin,作為2001年在猶他州雪鳥小屋中推動雪球的十七人之一,他身體力行地維護著代碼整潔。對編程擁有無盡熱情的他,也開始嘗試推動敏捷和匠藝的攜手并進,從而修復業務與開發之間的鴻溝。他的故事仍在繼續。
            版權聲明:51Testing軟件測試網獲得作者授權連載本書部分章節。
            任何個人或單位未獲得明確的書面許可,不得對本文內容復制、轉載或進行鏡像,否則將追究法律責任
            價值398元的測試課程免費贈送,填問卷領取吧!

            關注51Testing

            聯系我們

            快捷面板 站點地圖 聯系我們 廣告服務 關于我們 站長統計

            法律顧問:上海漕溪律師事務所 項棋律師
            版權所有 上海博為峰軟件技術股份有限公司 Copyright©51testing.com 2003-2022
            投訴及意見反饋:webmaster@51testing.com; 業務聯系:service@51testing.com 021-64471599-8017

            滬ICP備05003035號

            滬公網安備 31010102002173號

            亚洲春色校园小说_欧洲精品色在线观看视频_国产思思99RE99在线观看_天天躁日日躁狠狠躁日日躁

            <code id="ebytu"><sup id="ebytu"><track id="ebytu"></track></sup></code>
              <td id="ebytu"><option id="ebytu"></option></td>
              <pre id="ebytu"><label id="ebytu"><menu id="ebytu"></menu></label></pre>
              <acronym id="ebytu"><label id="ebytu"><xmp id="ebytu"></xmp></label></acronym>
            1. <td id="ebytu"></td>

              <track id="ebytu"><ruby id="ebytu"></ruby></track>