工程师
互联网
推荐课程
average > 0 ? $model->average . '分' : '10.0分' ?>

卓越程序员之优秀的代码质量培训

K. Kang

开发部总监

北京航空航天大学,硕士。
毕业后即进入北大方正进行软件开发,先后在北大方正技术研究院、方正电子、方正电子政务科技有限公司、方正国际、明博教育科技有限公司工作,担任高级程序员、高级系统分析员、系统架构师、开发部总监等职务;拥有10多项国家发明专利。5年培训经验,主要从事企业IT软件设计培训及咨询。在安博教育等机构任特聘讲师,信产部计算机技术培训中心高级技术顾问,案例丰富,来源于实践,从实际项目出发,擅长用直白的语言说明复杂的原理。
一直在软件的一线工作,在软件设计及编码上有丰富的经验,善于从实际出发,将各种理论上的规范和技巧落地,变成实际项目开发中,易于接受和使用的原则和方式。在其带领过的研发团队中,都以形成了良好的软件风格和高质量的代码而著称。康老师在对系统进行划分、子系统和类设计方面有丰富的经验,善于规划系统职责,在系统分析、架构设计、模块设计,模块职责分配等方面进行合理的划分及平衡有着深厚的功底和丰富的实践经验。
项目经历
具有15年从事IT行业的软件开发、系统架构设计与分析经验,熟悉中国企业的需求,经历过多种文化氛围与组织形态,对大型项目、系统工程管理有着深入的实践与体会。且一直工作在大型软件开发、系统架构设计实际项目的第一线,主持过政府、金税工程、中国军队(总参、总后、二炮)等机构的复杂信息化项目设计,在实际工作中积累了丰富的项目实际经验和系统架构设计分析经验。主持过的项目包括奥运首都机场奥运福娃机器人项目;优课数字化教学应用系统;美国外包项目、国税总局金税工程信息化项目;方正奥思多媒体创作工具;网络雷达数据采集分析系统;分布式电子图书管理系统等。
近期授课经历

先后为IBM、洛基亚(8次)、艾默生、梅特勒.托利多、阿里软件、京东、中国联通、中国电信、用友软件、中石油天然气管道公司、中国移动、恒生电子、西南电信、三五互联、中金在线、浪潮集团、海关总署、中国科学院计算机网络信息中心、中国航天研究院、上海盛大网络、上海证券研究所、上海携程计算机、雅马哈信息系统有限公司、厦门航空、通化钢铁集团、总参、21世纪、南京大汉网络、等近百家企事业单位。

北京航空航天大学,硕士。 毕业后即进入北大方正进行软件开发,先后在北大方正技术研究院、方正电子、方正电子政务科技有限公司、方正国际、明博教育科技有限公司工作,担任高级程序员、高级系统分析员、系统架构师、开发部总监等职务;拥有10多项国家发明专利。5年培训经验,主要从事企业IT软件设计培训及咨询。在安博教育等机构任特聘讲师,信产部计算机技术培训中心高级技术顾问,案例丰富,来源于实践,从实际项目出发,擅长用直白的语言说明复杂的原理。 一直在软件的一线工作,在软件设计及编码上有丰富的经验,善于从实际出发,将各种理论上的规范和技巧落地,变成实际项目开发中,易于接受和使用的原则和方式。在其带领过的研发团队中,都以形成了良好的软件风格和高质量的代码而著称。康老师在对系统进行划分、子系统和类设计方面有丰富的经验,善于规划系统职责,在系统分析、架构设计、模块设计,模块职责分配等方面进行合理的划分及平衡有着深厚的功底和丰富的实践经验。 项目经历 具有15年从事IT行业的软件开发、系统架构设计与分析经验,熟悉中国企业的需求,经历过多种文化氛围与组织形态,对大型项目、系统工程管理有着深入的实践与体会。且一直工作在大型软件开发、系统架构设计实际项目的第一线,主持过政府、金税工程、中国军队(总参、总后、二炮)等机构的复杂信息化项目设计,在实际工作中积累了丰富的项目实际经验和系统架构设计分析经验。主持过的项目包括奥运首都机场奥运福娃机器人项目;优课数字化教学应用系统;美国外包项目、国税总局金税工程信息化项目;方正奥思多媒体创作工具;网络雷达数据采集分析系统;分布式电子图书管理系统等。 近期授课经历 先后为IBM、洛基亚(8次)、艾默生、梅特勒.托利多、阿里软件、京东、中国联通、中国电信、用友软件、中石油天然气管道公司、中国移动、恒生电子、西南电信、三五互联、中金在线、浪潮集团、海关总署、中国科学院计算机网络信息中心、中国航天研究院、上海盛大网络、上海证券研究所、上海携程计算机、雅马哈信息系统有限公司、厦门航空、通化钢铁集团、总参、21世纪、南京大汉网络、等近百家企事业单位。

课程费用

5800.00 /人

课程时长

2

成为教练

课程简介

目标收益

培训对象

课程内容

让软件投入使用后的“折腾”期尽量缩短!
业界普遍认为,软件项目开发成本的70%取决于软件开发人员个人的技能、经验和工作习惯(《个体软件过程的改进》-张友生等)。因此,提高软件研发人员的代码能力,是软件企业的立足之本!
软件企业的开发成本在那里?一个中大规模的软件,从其诞生、投入使用到最终稳定,中间要经过长时间的“折腾”期。在这个时期,软件会出现无数的问题:不稳定、随即性的死机、数据库连接丢失、不符合用户的业务…,于是软件被反复修改,好不容易稳定一点了,为了适应用户的需求又必须做新的修改,于是新一轮的不稳定再次出现,软件开发商为此投入了巨大的人力物力。最终一个中大型的软件基本稳定下来,需要经过几年的甚至十年以上的时间!一些软件从此开始发挥其巨大的商业价值,但更多的软件系统,由于时间过长,面临业务模型、技术落后的尴尬境地,于是,基于新框架的软件被策划出来,进入了下一个诞生、投入使用、“折腾”、稳定、推倒重来的过程。
如何缓解这样的尴尬境地?从技术的角度,提高研发人员的代码质量是重中之重。大量的,大面积提高软件软发人员的软件设计、编写质量,可大大缩短软件开发完成后的稳定期,做到只是为了适应用户的需求而修改,而非因为软件本身质量不过关而反复修改;并且为适应用户需求所做的修改,也能保证修改本身的可靠性,且新修改不会导致已有代码出现问题!
本课程的讲师都是骨灰级的编码高手,有近15年的一线软件编码经验,经历过大量的软件产品、项目,经历过软件研发中的种种磨练,对软件稳定性不佳造成的反复、结项一拖再拖、不得不长期泡在用户现场等,有深刻的体会。我们收集了大量的案例,包括优秀的设计编码,和典型的不佳设计,通过“魔鬼式训练”训练,大量的、反复式的练习,强化提高程序员的代码与编程能力,以此促进企业软件生产力水平的大幅度提高。
实践证明,软件的设计和编码是有章可循的。本课程总结讲师的总结了程序员非常易犯的若干种错误,汇聚了软件开发常见的常见策略、模式、原则,归纳为易于理解的编程实战技巧,每种都通过大量的案例进行强化训练,并用综合案例加以贯穿,通过大量的真实案例,贯穿了设计、编码、重构、调试等整个软件生命周期过程,详细地介绍了各个阶段需要注意的要点以及难点,这些知识都是培训师十几年编程经验的总结,如何避免重复犯错,让代码更具健壮性。

课程大纲

第一单元
规范编码与优劣代码的判定
内容一:成为卓越的程序员----代码能力及关键因素
软件的核心是什么(市场?管理?技术?需求?销售?测试?)
做一个优秀的程序员并不简单!
低头看路与抬头看天——理论与实践的结合
优秀代码的评价标准
优秀的代码,而不仅是可以运行的代码
劣质代码的代价
内容二:编码规范
通用的编码规范
C/C++/java/C#/编码规范
内容三:案例—通过实际项目演示优秀的代码及不佳代码
介绍项目背景,展现设计细想
阅读代码指出代码坏症状
重构为优秀的代码,介绍重构的思想及代码对比
第二单元
整洁代码之道
内容一:代码的坏味道—代码的质量底线
代码坏味道概述
代码坏味道——程序员与医生的区别
代码坏味道----低级篇(重复的代码、过长的函数、过大的类、过长的参数列表、发散式变化、分散的修改)
代码坏味道----中级篇(伪面向对象的调用、数据泥团、基本类型的误用、switch-case结构的误用、平行继承体系、过薄的类、只有局部意义的成员变量)
代码坏味道----高级篇(过度耦合的消息链、过薄的中间对象、紧耦合类、相似的类、只有数据的类、滥用类的继承关系)
通过案例,让学员寻找代码坏味道
可以根据客户现在的项目作为案例进行现场分析,找出相应的代码坏味道
内容二:某项目分析----重点了解现实项目代码的充斥大量坏味道
介绍项目需求情况,阅读现有代码指出代码坏症状
不看不知道,代码到底有多烂—触目惊心的代码
通过重构逐步改善代码质量
本案例学习多种代码的整洁方案
第三单元
代码质量度量
内容一:代码质量度量
代码质量的度量
通过分析多个实际项目,分别度量相关是否标准
内容二:代码评审
代码评审前期准备
代码评审的代码量
代码评审的检查表
代码评审的总结与学习
通过案例分析如何做好代码评审
第四单元
如何达到优秀的设计
内容一:什么是好的设计以及如何预先设计实现
什么是好的设计和衡量的手段
可扩展性(Extensibility)容易添加新的功能. 结合案例,通过那些手段如何实现该目标
灵活性(Flexibility)代码修改平稳地发生. 结合案例,通过那些手段如何实现该目标
可插入性(Pluggability)容易将一个类抽出去,同时将另一个有同样接口的类加入进来. 结合案例,通过那些手段如何实现该目标
软件的变化分析---发现变化/封装变化/隔离变化
分析真实项目,如何预先设计,给我们哪些启示,我们可以学习到什么
内容二:代码设计中的通用模式 (GRASP模式)
什么是GRASP设计原则
信息专家模式和应用场景,以及案例分析
创建者模式和应用场景,以及案例分析
创建者模式和应用场景,以及案例分析
高内聚/低耦合模式和应用场景,以及案例分析
控制者模式和应用场景,以及案例分析
多态/纯虚构模式和应用场景,以及案例分析
间接/保护变量模式和应用场景,以及案例分析
分析某个具体项目,如何设计重构,给我们哪些启示,我们可以学习到什么
内容四:案例—某项目设计思路分析
案例情况
演示如何发现设计坏味道,以及如何重构
第一单元
规范编码与优劣代码的判定
内容一:成为卓越的程序员----代码能力及关键因素
软件的核心是什么(市场?管理?技术?需求?销售?测试?)
做一个优秀的程序员并不简单!
低头看路与抬头看天——理论与实践的结合
优秀代码的评价标准
优秀的代码,而不仅是可以运行的代码
劣质代码的代价
内容二:编码规范
通用的编码规范
C/C++/java/C#/编码规范
内容三:案例—通过实际项目演示优秀的代码及不佳代码
介绍项目背景,展现设计细想
阅读代码指出代码坏症状
重构为优秀的代码,介绍重构的思想及代码对比
第二单元
整洁代码之道
内容一:代码的坏味道—代码的质量底线
代码坏味道概述
代码坏味道——程序员与医生的区别
代码坏味道----低级篇(重复的代码、过长的函数、过大的类、过长的参数列表、发散式变化、分散的修改)
代码坏味道----中级篇(伪面向对象的调用、数据泥团、基本类型的误用、switch-case结构的误用、平行继承体系、过薄的类、只有局部意义的成员变量)
代码坏味道----高级篇(过度耦合的消息链、过薄的中间对象、紧耦合类、相似的类、只有数据的类、滥用类的继承关系)
通过案例,让学员寻找代码坏味道
可以根据客户现在的项目作为案例进行现场分析,找出相应的代码坏味道
内容二:某项目分析----重点了解现实项目代码的充斥大量坏味道
介绍项目需求情况,阅读现有代码指出代码坏症状
不看不知道,代码到底有多烂—触目惊心的代码
通过重构逐步改善代码质量
本案例学习多种代码的整洁方案
第三单元
代码质量度量
内容一:代码质量度量
代码质量的度量
通过分析多个实际项目,分别度量相关是否标准
内容二:代码评审
代码评审前期准备
代码评审的代码量
代码评审的检查表
代码评审的总结与学习
通过案例分析如何做好代码评审
第四单元
如何达到优秀的设计
内容一:什么是好的设计以及如何预先设计实现
什么是好的设计和衡量的手段
可扩展性(Extensibility)容易添加新的功能. 结合案例,通过那些手段如何实现该目标
灵活性(Flexibility)代码修改平稳地发生. 结合案例,通过那些手段如何实现该目标
可插入性(Pluggability)容易将一个类抽出去,同时将另一个有同样接口的类加入进来. 结合案例,通过那些手段如何实现该目标
软件的变化分析---发现变化/封装变化/隔离变化
分析真实项目,如何预先设计,给我们哪些启示,我们可以学习到什么
内容二:代码设计中的通用模式 (GRASP模式)
什么是GRASP设计原则
信息专家模式和应用场景,以及案例分析
创建者模式和应用场景,以及案例分析
创建者模式和应用场景,以及案例分析
高内聚/低耦合模式和应用场景,以及案例分析
控制者模式和应用场景,以及案例分析
多态/纯虚构模式和应用场景,以及案例分析
间接/保护变量模式和应用场景,以及案例分析
分析某个具体项目,如何设计重构,给我们哪些启示,我们可以学习到什么
内容四:案例—某项目设计思路分析
案例情况
演示如何发现设计坏味道,以及如何重构

活动详情

提交需求