歡迎訪問青海青一色電子科技有限公司官網,我們熱忱的期待您能反饋寶貴意見
服務熱線:0971-8175922,156-0971-2256

行業資訊

“希望成為馬丁·福勒那樣的大師”,40歲程序員談職業理想


  BenNorthrop是一位居住在美國賓夕法尼亞州的程序員,在其40歲之際,受邀在《軟件工程日報》的播客中針對“老程序員的編程生涯”話題發表演講時表示:「我希望能成為馬丁·福勒那樣的大師,像他那樣在生活與工作之間找到平衡點(我敢打賭他的生活絕對安排得多姿多彩)。也可以說,正是因為從知識衰減與積累速率的角度看待問題,我才有了這種釋然的心態?!?/p>


  這一言論引起了眾多人的共鳴,特別是“大齡程序員”。


  誰是馬丁·福勒?


  馬丁·福勒(MartinFowler)是一位世界級軟件開發大師,ThoughtWorks的首席科學家。他畢業于倫敦大學,專攻電子工程與計算機科學專業。他是一位作家、演說者、咨詢師和泛軟件開發領域的意見領袖。他曾擔任XP2005和AgileUniverse大會的議程主席,是敏捷聯盟(AgileAlliance)的創建人及《敏捷軟件開發宣言》的作者之一,同時還是IEEESoftware雜志的設計專欄作家。


  一直以來,他非常大的興趣就是了解如何設計軟件系統,以非常大化開發團隊可以提供的價值。不是十分了解馬丁的人可能會認為他是個工作狂,但其實他的生活非常豐富多彩。


  馬丁是個桌游愛好者,他認為桌游是一種人人都可以上手但又必須經過深思熟慮才會好玩的棋盤游戲。對于玩桌游,馬丁是這么說的:「我喜歡它們,因為桌游具有很強的策略性,所以你需要思考和學習來才能發覺它們的樂趣所在?!柜R丁在官網上還公開了自己的游戲清單。


  “希望成為馬丁·福勒那樣的大師”,40歲程序員談職業理想


  除開游戲,馬丁還會和網友分享外出旅游的景色,分享自己家貓咪的故事。


  “希望成為馬丁·福勒那樣的大師”,40歲程序員談職業理想


  馬丁致力于改善企業級的軟件設計,對優秀的設計以及支撐優秀設計的工程實踐孜孜以求。他在重構、面向對象分析設計、模式、XP和UML等領域都有卓越貢獻,著有《重構:改善既有代碼的設計》《分析模式:可復用的對象模型》《領域特定語言》《企業應用架構模式》等經典著作。


  不僅如此,馬丁還常常在官網上發表關于構建系統體系結構的文章來和大家交流,他稱自己的官網為:


  「Awebsiteonbuildingsoftwareeffectively」。


  當然,馬丁不僅僅是一位作者,更是一位滿世界飛的杰出演說家。他一方面跟行業伙伴進行深入交流,一方面親自實踐并思考、總結,然后通過出版物、博客、網站、演說等,和大家一起分享他的理念。


  馬丁匯聚在軟件開發實踐應用中的思想理念,卻深深影響了行業。


  直到今天,他的演講或者出版物中的理念都值得反復玩味。馬丁也因此被行業內的人稱為“書寫開發哲學”的人。


  同時,也因為他樂于在社交網絡上分享和交流專業知識,人們也親切地稱呼他為“馬丁大叔”。


  為了讓代碼整潔有序,他創作了《重構》


  上世紀90年代,當時還是咨詢顧問的馬丁·福勒造訪客戶調研其開發項目。該系統的核心是一個類繼承體系,他看了開發人員所寫的一些代碼,發現整個體系相當凌亂,于是馬丁建議項目經理看看這些代碼,把它們整理一下。但是項目經理并不熱衷于此,畢竟程序看上去還可以運行,而且項目面臨很大的進度壓力。于是項目經理說,晚些時候再抽時間做這些整理工作。


  馬丁也把他的想法告訴了在這個繼承體系上工作的程序員,告訴他們可能發生的事情。程序員都很敏銳,馬上意識到了問題的嚴重性。他們知道這并不全是他們的錯,有時候的確需要借助外力才能發現問題。程序員立刻用了一兩天的時間整理好這個繼承體系,并刪掉了其中一半代碼,功能毫發無損。他們對此十分滿意,而且發現在繼承體系中加入新的類或使用系統中的其他類都更快、更容易了。


  受此事啟發,馬丁·福勒撰寫了《重構:改善既有代碼的設計》第1版。


  “希望成為馬丁·福勒那樣的大師”,40歲程序員談職業理想


  重構,一言以蔽之,是在不改變外部行為的前提下,有條不紊地改善代碼。20多年前,正是《重構:改善既有代碼的設計》第1版的出版,才使得重構終于從編程高手們的小圈子走出,成為眾多普通程序員日常開發工作中不可或缺的一部分。


  如今,馬丁·福勒的《重構:改善既有代碼的設計》一書已經成為全球有經驗的程序員手中的利器,既可用來改善既有代碼的設計、提升軟件的可維護性,又可用于使既有代碼更易理解、煥發出新的活力。


  20年后,備受關注的第2版書籍終于出版,第2版在第1版的基礎上做了全面修訂,反映了編程領域已發生的許多變化。第2版中介紹的重構列表更加內聚,并用JavaScript語言重寫了代碼范例。此外,第2版中還新增了與函數式編程相關的重構范例,旨在教會讀者如何在沒有類的環境下開展重構。


  新版沿襲了第1版的結構,依次解釋什么是重構,為什么要重構,如何通過“壞味道”識別出需要重構的代碼,以及如何在實踐中成功實施重構(無論用的是什么編程語言):


  理解重構的過程和重構的基本原則;


  快速有效地應用各種重構手法,提升程序的表達力和可維護性;


  識別代碼中能指示出需要重構的地方的“壞味道”;


  深入了解各種重構手法,每個手法都包含解釋、動機、做法和范例4個部分;


  構建穩固的測試,以支持重構工作的開展;


  理解重構過程的權衡取舍以及重構存在的挑戰等。


  時隔20年,馬丁結合當下軟件開發行業的實際情況,更清晰地揭示了重構的過程,解釋了重構的原理和實踐方式,并給出了何時以及何地應該開始挖掘代碼以求改善。書中給出了60多個可行的重構,每個重構都介紹了一種經過驗證的代碼變換手法的動機和技術。本書提出的重構準則將幫助開發人員一次一小步地修改代碼,從而減少了開發過程中的風險。


  這是一本值得軟件開發人員、項目管理人員等細細品讀的好書,同時也適合高等院校計算機及相關專業師生作為參考讀物。


  《分析模式》建立起業務人員和開發人員的橋梁


  “軟件開發是一個年輕的專業,我們仍在學習技術并構建有效地實現它的工具?!?/p>


  ——馬丁·福勒《分析模式:可復用的對象模型》


  在ThoughtWorks擔任對象建模顧問期間,馬丁·福勒需要為客戶提供建模指導。然而,將大量建模所積累的經驗傳達給別人并不能幫助企業的員工掌握到核心技巧。后來他意識到,將以前創建模型的經驗匯總的同時,還要改進它們以適應新的需求。在當時,市面上有很多圖書會用簡化的案例講述這一抽象的理論,不少開發者閱讀后無法真正理解,更難以運用到實際應用中。


  典型的方法論固然有價值,但是只是學習的第一步,開發者還需要通過實際開發中創建的產物來進一步學習。


  于是,馬丁·福勒決定將自己多年的經驗匯集于《分析模式:可復用的對象模型》中,他將以往真實項目作為案例背景,然后以“模式”的方式進行歸納,生動形象地把分析模式完整的核心理念傳達給讀者。馬丁·福勒認為,建模人員不應該僅關注過程,即如何建模,還應當關注過程的結果,即所得到的模型本身。


  “希望成為馬丁·福勒那樣的大師”,40歲程序員談職業理想


  典型的方法論書籍只關注工具和技術,大家期望有一本書能夠突破這一局限,而這本開創性的著作正好滿足了這一需求。在本書中,作者關注的是面向對象分析和設計的非常終結果,也就是模型本身。作者在本書中分享了豐富的對象建模經驗,以及識別重復問題并將其轉化為可復用的模型,并給出了一系列來自不同領域(包括交易、測量、會計和組織關系等)的模式。


  概念模式無法孤立地存在,基于這一認識,作者還給出了一系列“支持模式”。這些模式探討了如何將概念模型轉化為軟件,并使其適合于大型信息系統的架構。對每種模式的講解都包含了其背后的設計思路、應該(或不應該)使用這些模式的時機以及實現的訣竅。本書中展示的例子構成了一本實用手冊,既包含有用的模型,又涵蓋對復用技能的深刻洞見,這些都有助于改進分析、建模和實現。


  要開發復雜的企業應用,先要為業務領域建立準確而深刻的分析模型。本書不是通過簡化的案例講述抽象的理論,而是直接給出來自真實項目的復雜模型,并以“模式”的方式進行歸納。本書不僅包括這些模式本身,還體現了作者豐富的實踐經驗和對建模技術的深入洞見。本書主要包括兩部分:


  第一部分介紹來自人員與組織管理、觀察與測量、存貨與會計、計劃、金融衍生品交易等多個業務領域的“分析模式”;


  第二部分則給出一系列“支持模式”,用于將分析模型實現為具體。


  具有一定經驗的架構師、業務分析師以及高級開發人員通過研讀本書可以很快將書中的模式和思路應用于實踐,有效提高開發水平。軟件開發的入門者閱讀本書盡管未必能立刻領悟其全部內涵,但也足以打開一扇通向新境界的窗戶,為日后的提高奠定基礎。


  分析模式和重構思想對當下程序員的啟發


  「任何一個傻瓜都可以寫出計算機可以理解的代碼,唯有寫出人類容易理解的代碼,才是優秀的程序員?!?/p>


  馬丁·福勒認為創建具有良好架構的軟件并非一蹴而就的事情。就像優秀的散文一樣,軟件也需要定期進行修訂,并且程序員應了解產品的更多功能需求以及如何才是實現其目標的優秀產品設計。


  重構是一種支持安全地對程序進行更改的重要技術。它所包括的一些小更改不會改變可察覺的軟件行為。通過組合多項小更改,開發人員可以修改軟件的結構,以支持在非常初構思系統時未計劃的重大修改。


  軟件如果僅在開發人員機器上運行,就無法為軟件客戶提供價值。一直以來,發布軟件都是一個漫長而復雜的過程,這無法滿足軟件快速演變的需求。持續交付采用自動化和協作式工作流程來消除這一瓶頸,使團隊可以按照客戶所需的節奏發布軟件。為了使持續交付成為可能,我們需要建立堅實的測試基礎,通過一系列自動化測試來確保自己的更改不會帶入任何錯誤。這促使我們將測試集成到編程中,從而改善我們的架構。


  作為程序員,掌握了「重構」和「分析模式」既可以往上游去探索需求的梳理,用戶痛點的分析,業務價值的挖掘,又可以向下游梳理測試的編寫,產品的發布,運維監控。視野開拓了,才有可能對產品有整體的了解,也更容易在程序員這個角色上做得更好。


  “希望成為馬丁·福勒那樣的大師”,40歲程序員談職業理想


  重構:改善既有代碼的設計(第2版)


  作者:[美]馬丁?福勒(MartinFowler)


  譯者:熊節,林從羽


  重構改善既有代碼的設計(第2版平裝版)(異步圖書出品)


 ?。?3.7


  購買


  重構改善既有代碼的設計第2版平裝版


  作者:[美]馬丁·福勒(MartinFowler)


  當當


  內容簡介:


  本書清晰揭示了重構的過程,解釋了重構的原理和優秀實踐方式,并給出了何時以及何地應該開始挖掘代碼以求改善。書中給出了60多個可行的重構,每個重構都介紹了一種經過驗證的代碼變換手法的動機和技術。本書提出的重構準則將幫助你一次一小步地修改你的代碼,從而減少了開發過程中的風險。


  “希望成為馬丁·福勒那樣的大師”,40歲程序員談職業理想


  分析模式:可復用的對象模型


  作者:[美]馬丁·福勒(MartinFowler)


  譯者:鐘敬


  分析模式:可復用的對象模型


  作者:[美]馬丁·福勒(MartinFowler)


  當當


  內容簡介:


  要開發復雜的企業應用,先要為業務領域建立準確而深刻的分析模型,本書不是通過簡化的案例講述抽象的理論,而是直接給出來自真實項目的復雜模型,并以“模式”的方式進行歸納。本書包括兩部分:第一部分介紹了來自人員與組織管理、觀察與測量、存貨與會計、計劃、金融衍生品交易等多個業務領域的“分析模式”;第二部分則給出一系列“支持模式”,用于將分析模型實現為具體的軟件。具有一定經驗的架構師、業務分析師以及高級開發人員通過研讀本書可以很快將書中的模式和思路應用于實踐,有效提高開發水平。軟件開發的入門者閱讀本書盡管未必能立刻領悟本書的全部內涵,但也足以打開一扇通向新境界的窗戶,為日后的提高奠定基礎。

免费av网站|日韩欧美激情国产一区二区蜜|久久午夜无码鲁丝片午夜精品|在线911精品亚洲