筆記——專訪李運華:程序員如何在技術上提升自己

摘要:

專訪李運華:程序員如何在技術上提升自己
方法:
1 寫博客
2 鏈式學習:從一個點不斷學習相關的知識
3 閉環學習:瞭解整個功能或業務的全流程實現,涉及了哪些模塊和系統,每個模塊和系統主要負責什麼功能,涉及到什麼技術,性能怎樣,有什麼注意點。
圖書推薦:
  羊皮卷、異類、隨機漫步的傻瓜
優秀程序員的技能和修養:
1 快速學習的能力;4W2H,
  a 這個技術解決什麼問題?
  b 比較適合在哪些場景應用?
  c 這個技術跟已經掌握的哪個知識或技能類似,有什麼差別、特點、優缺點;
  d 寫demo,應用;
  e 研究機制、看源碼;
2 良好的理解能力;(理解需求)
3 持續不斷的學習;
4 樂於分享;
如何安排時間:
  利用碎片時間
團隊管理心得:
1 不能完全放棄技術;
2 幫助組員提升;
3 身先士卒;
面向對象和編程語言
專欄《面向對象葵花寶典》
心中的大牛
能夠設計和實現一個完整的系統
-----------
-----------
延伸閱讀:專欄《面向對象葵花寶典》 http://blog.csdn.net/column/details/oobaodian.html
1 (4)面向對象是瑞士軍刀還是一把錘子?
  a 面向對象的核心是“可擴展性”;
  b 面向對象的應用範圍是“經常變化的地方”(企業應用、互聯網應用)
QQ圖片20141207223554.jpg
???可伸縮性、可移植性、可維護性跟面向對象沒有關係嗎?
2 (5) 面向對象迷思:面向對象導致性能下降?
  a 性能好壞是由設計決定的,而不是由語言決定的,更不會因爲採用了面向對象而導致性能的降低;
3 (6)不要說你懂“類”
  a 類是一組相似事物的統稱。
4 (7) 對象
  a 對象是類的一個實例
5  (8) 接口
  a 接口是一組相關的交互功能點定義的集合;
6 (9)抽象類
  a 抽象類只能繼承,不能實例化
  b 是介於類和接口之間的概念,同時具備類和接口的部分特性。
7 (10)抽象詳解
  a 抽取出來比較像的部分
  b 抽象的作用:劃分類別,隔離關注點,降低複雜度。
8 (11)封裝(12)繼承(13)多態
  a 什麼需要封裝?不想讓別人知道的東西。
  b 爲什麼封裝?保護隱私,隔離複雜度,
9 (14)面向對象技術流程
  a 需求模型
    (記錄客戶需求;和客戶一起分析問題,完善需求;引導客戶的需求)
    (用例分析、功能點提取、用例圖、系統順序圖)
  b 領域模型 
    (找名稱、加屬性、連關係)
  c 設計模型
    (靜態模型主要用於指導類的聲明,包括類名稱,屬性名,方法名;而動態模型主要用於指導類的實現,主要就是每個方法內部的具體實現
  d 實現模型(類模型)
    (領域類映射--告訴你類從哪裏來:從需求來,暈暈暈)
    (應用設計原則和設計模式:)
    (設計原則SOLID:單一職責、開放/封閉[對於擴展開放、對於修改封閉????]
      、Liskov替換[對象應該是可以在不改變程序正確性的前提下被它的子類所替代]
      、接口隔離[多個特定客戶端接口要好於一個寬泛用途的接口]
      、依賴反轉[依賴於抽象而不是一個實例]
       擴展閱讀,《敏捷軟件開發:原則、模式與實踐
     (設計模式:擴展閱讀,《設計模式--可複用面向對象軟件的基礎
     (拆分輔助類)
      (不是一個設計的步驟、而是實施的一個步驟)
10 動態模型設計
  待續。。。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章