笔记——专访李运华:程序员如何在技术上提升自己

来源:互联网 发布:韩后 知乎 编辑:程序博客网 时间:2024/05/21 14:56
原文链接:http://www.csdn.net/article/2014-10-20/2822190
摘要:

专访李运华:程序员如何在技术上提升自己
方法:
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 动态模型设计
  待续。。。

0 0