成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Bob大叔忠告:專業軟件開發者必須精通的事項

開發 項目管理 后端
路漫漫其修遠兮,吾將上下而求索,學習技術之路很漫長。做一個專業的程序員不容易,需要多加努力,使自己成為一個專業的程序員,成為一個具備職業素養的程序員。

enter image description here

Bob 大叔(Robert C. Martin是Object Mentor公司總裁)認為作為一個專業軟件開發必須精通以下幾點:

  1. 設計模式。必須能描述GOF書中全部24種模式,同時還要有POSA書中的多數模式的實戰經驗。
  2. 設計原則。必須了解SOLID原則 ,而且要深刻理解組件設計原則。
  3. 方法。必須理解XP、Scrum、精益、看板、瀑布、結構化分析及結構化設計等。
  4. 實踐。必須掌握測試驅動開發、面向對象設計、結構化編程、持續集成和結對編程。
  5. 工件。必須了解如何使用UML圖、DFD圖、結構圖、Petri網絡圖、狀態遷移圖表、流程圖和決策圖。

自我總結,在Bob 大叔說的這幾點中,我能做到幾點呢?認真思考一下,發現大概有這么幾點能做到:

  1. 設計模式,這些年來國內很多關于設計模式的書,讀大學時代看《大話設計模式》,只是把大鳥和小菜的對話當做故事書來看,很多設計模式的知識只是看了就忘記。后來工作后買了本《Java與模式》來看,發現其中設計模式的思想挺好的。作者通過講些中國傳統故事來形容和講述設計模式,通過這本書學習到了不少設計模式的思想,但總是會忘。后面隨著編程經驗的增長,了解到設計模式其實就是OO思想和設計原則的產物,設計模式不是去學的,應該是感悟的,是我們程序員通過工作經驗去感悟的。感悟設計模式才能掌握設計模式的精髓,才能學會怎么去開發高可擴展性程序。設計模式是一種怎么開發高擴展高可維護性程序的思想和實踐。說來慚愧設計模式現在24種大多數都了解其思想,但是現實編程使用的不多。如果要學習重構編程法,設計模式必不可少,福勒的《重構》很多手法就是往設計模式方面靠攏。
  2. 設計原則SOLID,以下這些是我這幾年個人的感悟:
    • SRP The Single Responsibility Principle 單一責任原則 :當需要修改某個類的時候原因有且只有一個,讓一個類只有一個職責,當這個類需要承當其他類型的責任的時候,就需要分解這個類。這也是bob大叔在《代碼 整潔之道》關于類這一章說的,讓類小盡可能的小,承擔的職責單一,這樣才能保持代碼的整潔性,不會讓這個類經常由于其他職責的原因而需要修改,這也是達到 關閉修改的方式和手段。

    • OCP The Open Closed Principle 開放封閉原則 :對擴展是開放的,而對修改是封閉的。這個原則是諸多面向對象編程原則中最抽象、最難理解的一個。其實這個原則我感覺是OO思想最核心的思想,怎么樣提高 程序的擴展性而又不用去修改以前的代碼,這是我們變成中需要注意的問題,當然很多設計模式就可以達到這種效果,工廠、策略模式等都是為了這些而工作的。

    • LSP The Liskov Substitution Principle 里氏替換原則:所有的子類都可以替換其基類,這個原則其實是對編程語言的要求,只有實現這個原則,我們才能使用多態去創造靈活的程序。

    • DIP The Dependency Inversion Principle 依賴倒置原則 :高層模塊不應該依賴于低層模塊,二者都應該依賴于抽象。抽象不應該依賴于細節,細節應該依賴于抽象。其實這些都是為了對擴展開放這個原則服務 的,Spring的IOC,策略模式這類東西都通過接口去聲明其實現類,達到修改和替換子類不影響現有代碼的實現。一切都依賴于接口,程序直接的耦合在于 其抽象而不在于其具體實現,bridge模式和抽象工廠就是其經典實現。

    • ISP The Interface Segregation Principle 接口分離原則 :不能強迫用戶去依賴那些他們不使用的接口。換句話說,使用多個專門的接口比使用單一的總接口總要好。 這個原則想表達的思想和單一責任原則有點像,一個接口的方法多了,所有的子類都需要去實現它們,當有一天某幾個子類需要增加一個方法時候,考慮把它放到接口里面,但是又影響了其他子類,使得其他子類需要實現這個方法,所以接口要盡可能的小。

  3. 方法:XP、Scrum、精益、看板、瀑布、結構化分析及結構化設計,這些只是對瀑布、Scrum、迭代開發實踐過,極限編程(XP)、精益、結構化分析及結構化設計都是了解一些皮毛,這些方面都得努力去學習和實踐。
  4. 實踐:測試驅動開發、面向對象設計、結構化編程、持續集成和結對編程,對面向對象設計有所涉及但不深入只能說剛入門,測試驅動開發了解這種思想,只會寫簡單的單元測試,沒有在項目中經歷過測試覆蓋開發的工作,其他結構化編程、持續集成和結對編程都是了解一點沒有深入理解和實踐過。
  5. 使用過UML和流程圖,其他幾個圖都沒有用過和了解過。UML圖在工作中只有半年多的設計工作中使用過,需要深入理解。

路漫漫其修遠兮,吾將上下而求索,學習技術之路很漫長。做一個專業的程序員不容易,需要多加努力,使自己成為一個專業的程序員,成為一個具備職業素養的程序員。


原文鏈接:http://a5728238.iteye.com/blog/1890259

 

 

責任編輯:陳四芳 來源: ITeye博客
相關推薦

2009-02-13 10:00:41

面試軟件開發程序員

2013-05-15 10:02:08

軟件開發開發者

2010-11-08 09:36:23

移動軟件開發者

2017-02-28 15:08:08

架構微服務數據庫

2022-09-07 11:56:53

汽車軟件

2020-03-20 11:43:20

開發編程語言技術

2023-10-16 08:00:00

2021-03-03 15:47:51

HarmonyOS應用開發物聯網

2014-12-22 09:37:50

軟件開發

2012-12-17 10:00:09

2021-03-08 15:00:14

鴻蒙HarmonyOS應用

2016-05-26 10:57:51

2022-09-06 09:47:13

CodeRAT惡意軟件網絡犯罪

2025-01-27 00:23:15

2010-12-03 11:17:12

2021-02-14 18:44:58

GPL協議代碼

2014-01-06 03:08:29

回顧開源獨立開發者

2009-12-01 11:25:03

iPhone地圖軟件

2024-04-11 13:30:06

AI開發框架

2018-08-23 09:36:10

軟件開發編程
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 成人国产精品久久久 | 国产精品69毛片高清亚洲 | 91av免费看 | 999久久久久久久久6666 | 午夜国产一级 | 97色免费视频 | 国产精品18hdxxxⅹ在线 | 久久tv在线观看 | 日韩国产高清在线观看 | 男女污污网站 | 岛国av一区二区 | 每日在线更新av | 欧美国产精品 | 久久黄色| 在线日韩av电影 | 国产亚洲成av人片在线观看桃 | 在线国产一区 | 日韩av免费在线观看 | 欧美成人不卡 | 久久久国产一区二区三区四区小说 | 色婷婷综合久久久中字幕精品久久 | 在线国产视频 | 在线免费激情视频 | 亚洲综合色视频在线观看 | 96久久久久久 | 日韩免费 | 久久亚洲一区二区 | 欧美色综合一区二区三区 | 国产精品久久久久久久久久久久午夜片 | 亚洲第一在线 | 黄色av网站在线观看 | japan25hdxxxx日本| 天堂久久一区 | 精品综合久久 | 欧美一区二区三区国产精品 | 永久网站 | 国产精品久久久久久久久久免费看 | 中文字幕精品一区 | 一区在线观看 | 91色在线视频 | 色妞av|