您好,欢迎访问广东培训网!
当前位置:首页 > 公开课 > 个人技能 > 课程内容

卓越程序员编程最佳实践

发布价:¥3040
原 价:¥3200 课程编号:KC7793
用手机看:
手机扫码
开课日期
培训天数
上课地区
状态
2013年08月30-31日
2天
北京市
立即报名

培训对象

1年以上软件开发经验的程序员、项目经理、技术主管

课程简介

为了切实帮助软件企业降低企业项目开发成本,大面积提高软件工程师单兵软件生产能力,本中心推出了旨在快速提升程序员代码与编程能力的最新课程——软件工程师职业能力——实力进阶训练营,将通过“魔鬼训练”式的代码训练,提高程序员的代码与编程能力,以此促进企业软件生产力水平的大幅度提高。

本课程是程序员走向项目经理的快速捷径,更是项目经理提升技术管理水平的葵花宝典,课程对软件企业提高工作效率,促进软件生产能力,具有不可多得的推动作用。

课程起源:代码是软件工程师的基本功,但相当一部分程序员写了几年代码仍然不得章法,被认为“没有程序的味道”,而且还养成了许多错误的编程习惯,这导致很多企业,工作效率低下,产品或项目交付延期且要不断地加班加点的恶性循环局面。这种状况不仅加大了企业的运营成本,影响了企业的生产力水平,而且严重制约了企业的快速发展。

为此,如何降低软件项目或产品成本,提高软件工程师的生产力水平,我们邀请了多位软件过程改进著名专家和程序高手,收集了大量的真实案例,针对项目过程中技术人员常犯的错误进行了汇总,研讨,并最终形成改进解决方案的培训教程。课程将通过大量的真实案例和代码,以“魔鬼训练”式的代码训练方式让学员通过亲自动手操作来理解代码设计,编写,重构以及调试。

课程收获:代码能力训练是根据2/8原则,程序编写中常见的错误80%都是重复的理论,本课程总结了程序员非常易犯的若干种错误,汇聚了软件开发常见的多种设计模式以及多个编程实战技巧,重点侧重于程序员实际职业能力的提升。讲师从程序编写人员的基本编程习惯开始讲解,通过大量的真实案例,贯穿了设计、编码、重构、调试等整个软件生命周期过程,详细地介绍了各个阶段需要注意的要点以及难点,这些知识都是培训师十几年编程经验的总结,如何避免重复犯错,让代码更具健壮性是代码能力的关键点。

本课程是程序员走向成熟并迅速成长为项目经理的必经之路。

课程对象:具有1-3年编程经验的程序员、项目经理

课程时间:12月25-26日

课程纲要:

第一单元:面向对象程序设计的原则与模式

1.衡量软件系统质量的标准

从一个案例说起:

工程中常见的设计不佳的系统举例,分析其中设计失败的关键之处。

1)复合文件系统。

2)资源库系统。

问题所在

1)强耦合的坏处。2)低内聚的缺陷。3)避免“打补丁”式的修改。

2.用面向对象设计的原理优化设计

类的设计原则:开闭原则、依赖倒置原则、Liskov替换原则、单一职责原则、接口分离原则、组合复用原则、所知最少原则

通过案例说明:

1)练习:对磁盘文件的处理,依赖注入的具体使用场合。

2)Liskov替换原则:

a)例:会议管理系统。

b)例:GUI组件

c)例:线/线段。

d)其它:脆弱基类的讨论。

3)练习:设计媒体墙系统;关注单一职责原则,讨论各个方案的优缺点。

4)接口设计中的问题:

a)接口功能要内聚,接口中方法的数量要合适。

b)扩展:内接口与外接口。核心部分对外暴露内接口,其它部分暴露出供外调用的外接口。

c)扩展:普通接口与智能接口。智能接口供高层调用者,或不关心细节的调用者调用,普通接口供关系细节的调用者调用。

d)工程实践中经常遇到的接口设计疑惑;简单但易出错的陷阱。

通过举例说明包内聚原则,耦合原则:

1)常见的解耦方法。

2)例:代码的坏味道:分散的变化。

3)与保护变化、隔离关注面、职责单一等的关系。

3.GRASP模式在程序设计中的运用

GRASP模式:信息专家、创建者、高内聚、低耦合、控制者、多态、间接、纯虚构、保护变化

案例分析:

1)商店收银系统:违反信息专家的设计方式,使用信息专家的设计方式。

2)面向对象与信息专家模式的联系;面向对象的本质是什么。

3)商务系统:大型系统中的信息专家模式运用。

4)数据分析系统:数据字典使用中的创建者模式。

5)工程中常见的包组织形式及创建者模式在其中的使用。

6)资源库系统:低耦合的设计要点。

7)信息抽取系统:不要死板地套用3层/4层结构,系统中低耦合设计要点。

8)保存Html文档:高内聚的指导意义。

9)对长函数的处理:控制者模式。

10)Socket编程:控制者模式举例。

11)角色设计:用间接模式来处理不断变化的加密需求。

4.面向对象设计中的经验原则介绍(20条)

1)当类包含多于6个数据成员时,可以把逻辑相关的数据成员划分为一组,然后用一个新的包含类去包含这一组成员。等等。

第二单元:灵活使用GOF设计模式避免走弯路

1.常用模式

模板方式模式、适配器模式、工厂方式模式、抽象工厂模式、策略模式、桥接模式、观察者模式、命令模式、装饰模式等。

2.需要背下来的定式――从实际中总结软件设计中的常见用法

1)用策略/桥接/访问者模式作为中心骨架。

2)用工厂/抽象工厂模式进行组装。

3)用命令模式处理事务。

3.模式案例分析:

1)练习及分析:WDL解析系统:

a)初始设计的缺陷分析。

b)用模式重构:外观模式实现智能接口。

c)桥接模式处理多对多的变化。

d)模板方法模式统一流程。

e)抽象工厂模式组织使用方案。

f)单例模式的典型运用。

g)适配器模式用于组织第3方模块。

2)ERO系统的设计分析:不能套用模式的场合。

a)典型场合下的典型设计。

b)深入分析后的领悟。

c)按工程实际进行设计,而非套用模式。

3)薪酬系统:

a)从需求中做的抽象。

b)桥接模式的典型运用。

c)策略的选择:抽象工厂模式组织使用。

4)练习:货运系统:

a)策略模式的典型运用。

b)抽象工厂模式的运用。

c)对本系统中的常见错误设计分析,领悟策略模式的要点。

3.GOF高级话题讨论:

抛弃众多的原则、模式,看问题的本质:设计模式的实用分类及运用。

模式的高级运用分析:

1)对间接类模式的本质分析。

2)对多对多类型模式的本质分析。

3)对命令模式的本质分析。

4)对主体-附加类模式的本质分析。

5)设计模式其实不难!

第三单元:用UML辅助系统分析与设计

1.UML中的常见疑难问题辨析

1.用例图:UseCase的本质讨论。

2.类设计

案例分析:

1)搜索引擎中的建模:依赖关系、关联关系辨析

2)商场收银系统中的类设计:建模为属性/类/基类-派生类/策略模式的抉择。

3)杂志订阅系统中的类设计。

4)汽车销售系统中的类设计。

3.其它辨析:略

2.借鉴RUP的设计过程。

边界类、实体类、控制类的设计要点。

案例分析:

1.复合文件编辑系统:

系统设计中的常见问题。

2.WDL文件解析系统:

初始设计的问题分析。

第四单元:对不良代码的重构

1.常见的不良代码:

重复的代码、过长的函数、过大的类、过长的参数列表、发散式变化、分散的修改、伪面向对象的调用、数据泥团、基本类型的误用、switch-case结构的误用、平行继承体系、过薄的类、只有局部意义的成员变量、过度耦合的消息链、过薄的中间对象、紧耦合类、相似的类、只有数据的类、滥用类的继承关系

2.对代码与结构重构的实际运用:

1)结构不良的系统的典型表现。

2)划分逻辑层次。

3)把整理好的模块划归不同的逻辑层。

4)提取控制类+纯虚构类,整理流程。

5)整理模块间、层间的消息通知机制。

6)数据层的考虑。

7)运用命令模式等,重构主要的函数调用。

第五单元:框架搭建及实例分析

工程中常见的架构风格及案例讨论:

1.系统软件:

分层(Layer)、管道和过滤器(PipesandFilters)、黑板(Blackboard)

1)数据采集系统:用分层组织系统的设计。

2)搜索系统:用分层组织系统的设计。

3)信息分析系统:管道过滤器的实际使用。

4)信息分析系统:黑板模式的实际使用。

5)人工智能系统:黑板模式的实际使用。

2.分布式软件:

1)讨论:异构系统间的通讯模式:经纪人(Broker)的典型运用场景。

2)客户/服务器(Client/Server)模式。

3)点对点(PeertoPeer)模式。

3.交互式软件:

1)MVC模式的具体运用:图像模板编辑工具中的典型运用。

2)显示-抽象-控制(PAC).

第六单元:案例分析:略

讲师介绍

康老师,国内资深高级系统架构师,UML/RUP专家,现任国内某知名企业研究院首席架构师,软件设计师。具有15年的从事IT行业的软件开发、系统架构设计分析经验。熟悉中国企业的需求管理,经历过多种文化氛围与组织形态,对大型项目、系统工程管理有着深入的实践与体会。最难能可贵的是康老师现在一直工作在实际项目的大型软件开发、系统架构设计的一线。主要客户包括:中国工商银行、中国农业银行、国家开发银行、交通银行、中国铁通、中国电信、中电集团、中石油、中石化、西南电信、海关总署、中国科学院计算机网络信息中心、中国航天研究院、上海盛大网络、上海证券研究所、上海携程计算机、杭州恒生电子等上百家企事业单位。

近期相关公开课

公开课服务流程

公开课报名流程

在线报名/咨询

联 系 人 :
联系方式:
公司名称:
咨询事项: