重构一卓越程序员修炼之道
高级培训班
软件质量,不但依赖与架构以及项目管理,而且与代码质量紧密相关. 这一点,无论你使用什么开发技术,都不得不承认.
什么是好的代码?可以工作的,性能良好,不出bug的代码,就是好的代 码吗?世界大师Bob大叔认为,软件代码应该基本3个职责:
1职责:运行起来所实现的功能,这是代码得以存在的原因.
2职责:它要应对变化,因为几乎软件需求都有变化,因此代码应该保 证将来的修改尽可能的简单.
3职责:要和阅读它的人进行沟通,对模块不熟悉的人员应该能够比 较容易理解.
因此所谓好的代码就是,除了满足所有功能需求以外,还应该更好的支 持易修改和易扩展,
同时应该清晰准确地传递作者的想法.因此代码质量与 整洁度成正比,干净的代码,即在质量上较为可靠,也为后期维护,升级奠定 了良好的基础.该课程给出了一系列有效的重构实践,并且以来自现实项 目的正,反两面的范例.只要遵循这些实践,就能编写出干净的代码,从而有 效提升代码质量.
这是实践我们为上百家软件公司提供咨询服务得到的结果,这也是软 件公司难以大幅度提高生产力的关键所在。然而很多企业的技术高管都在 抱怨自己的技术人员:
1、编程序效率太差,一个简单的功能,很久时间才能完成开发实现;
2、不动脑,经常犯很多的错误;
3、代码质量很差,程序结构不合理;
4、写了 7~8年程序仍然没有程序的味道,而且还养成了许多坏的编程 习惯;
5、基本功不扎实,学习了面向对象和设计模式,根本不会使用;
6、难于适应需求变更,每次增加新功能都是浪费大量时间。
如何提高代码质量,提高程序员的生产力?为协助国内软件企业的程序 员快速掌握以上技能,我们讲师,结合多年国内外项目开发的实战经验, 帮助大家学以致用,消除“知与行”之间的鸿沟。现将相关事宜通知如下: 一、培训特
本课程注重实战,采用案例贯穿方式完成实践,收集了大量的真实案 例,针对项目过程中技术人员常犯的错误进行了汇总,研讨,并最终形成 培训教程。本次培训从程序员的基本编程思维开始讲解,通过大量的真实 案例,贯穿了设计、编码、重构、单元测试,持续集成等整个软件生命周期 过程,详细地介绍了重构需要注意的要点以及难点,这些知识都是培训师 十几年编程经验的总结。
二、培训对象
各类IT/软件企业和研发机构的项目经理、软件设计师、程序员,质量 部门员工。对于重构技术怀有疑问和困惑,需要梳理解答的团队和个人, 效果最佳。最好你简单了解重构基本概念,该课程假设你已经知道重构,只 是困惑如何在项目之中应用.
三、学员基础
λ学员学习本课程应具备下列基础知识:
λ 了解JaVa/C#或者C++任一语言,具有面向对象基本概念
λ如果你不重视代码质量,最好不要参加.本课程面向重视代码质量 的管理者.
λ如果你已经多年不写代码,最好不要参加,本课程面向一线还在编程 的程序员/设计师/架构师
λ如果你不认为写好代码是一件重要,困难并且有趣的事情,请你不要 参加.本课程面向追求完美的程序员.
五、培训要点
本课程主要包含以下几个方面的内容:
1、结合电信、电力、税务和金融等多个项目案例进行分析。本次 培训所用案例均为真实项目案例,仅供课堂学术讨论,不得以 任何形式发表或传播,复制等。
2、重构技术:软件并不是在一开始就可以设计的完美无缺,因此 必须经过不断的重构进行改善,重构是实现优秀设计的一种重 要手段
3、代码坏味道:介绍常见的糟糕的代码坏味道,以告诫学员,今 后如何避免出现这样的拙劣代码。这是21条代码基本要求,是 代码管理的最低要求,可以接受的底线.
代码管理:项目管理者和质量管理部门,如何组织代码评审,代
码审查,如果通过代码评审,提高设计能力。
4、重构到模式:模式的应用是一个渐进演变的过程,坏味道也 不是一开始就出现的.如果在一开始就想到用某某模式,有时 很可能导致设计过度.重构与模式有一种天然的关系.重构是 手段,模式是目的,同时模式也为重构指明了方向和原则.通 过案例分析设计模式是如何演进/重构出来的
5、昆山程序员培训机构单元测试:介绍如何使用XUnit进行单元测试,如何更高效地 撰写bug更少的代码;如何发现bug的藏身之处以及如何清除 bug;如何测试代码片断而不用牵连整个项目;如何利用XUnit 简化测试代码;如何在团队中高效地进行测试,设计具有更好 易测性的软件等等。
6、代码质量度量:结合和完善LogiscopeMcCabe两种软件度
量体系,选取出依据软件程序代码的可量化测量度量元,并通 过测试不同型号的软件确定出模型参数,建立质量度量评估模 型,有助于软件的量化评价,为质量管理人员了解软件质量水 平、软件设计师改进软件程序质量,提供量化的客观依据.
7、代码静态分析工具:介绍业界已经在大量使用代码静态分析工 具,以便在编码阶段就能够出可能的编码缺陷。比如Java 语言环境下的 findbugs,Checkstlye,PMD, javancss
8、持续集成:介绍持续集成基本基本原则和工具,它增加项目可 见性、降低项目失败风险的有效实践.也介绍了测试驱动、代 码审查、数据库集成、信息反馈等实践和工具。
9、架构重构:由于软件应对需求变化的能力越来越差,通过重构 架构进行软件重建的做法变得越来越有吸引力。如何进行架构 重构,怎样重构等.
六、培训内容
时间
授课内容
第一单元重构 概述和软件代 码新视角
内容一:软件代码的新思维一•代码就是设计,代码质量决定软件可维护性
1.软件可维护性(为什么必须重视软件的可维护性)
2.代码质量概述
3.破窗效应
4.对代码的重新认识一代码就是设计
5.优秀代码的评价标准
6.好代码和糟糕代码之间的区别
7.劣质代码的代价
8.大师评价整洁代码的标准
a)Robert C Martin
b)Kent Beck'
c)Ward Cunningham
d)Ron Jeffries
e)Grady Booch
f)Dave Thomas
内容二:重构思想
1.重构概述
2.何时重构
3.如何发现哪些地方需要重构
4.如何保证重构的正确
5.如何测试重构
6.通过一个小案例演示重构的基本思想(什么时间重构,如何发现重构点,如 何保证重构的正确性,最后如何验收)
内容三:案例一通过实际项目演示重构
1.介绍项目需求情况,进行设计
2.阅读代码指出代码坏症状
3.通过重构逐步改善代码质量
第二单元必知 的21种代码坏 味道    如何
发现重构点
内容一,21种代码坏味道一代码的质量底线
1.代码坏味道概述
2.代码坏味道的分类
3.代码坏味道--低级篇(重复的代码、过长的函数、过大的类、过长的参数 列表、发散式变化、分散的修改)
4.代码坏味道----中级篇(伪面向对象的调用、数据泥团、基本类型的误用、 SWitChYaSe结构的误用、平行继承体系、过薄的类、只有局部意义的成员 变量)
5.代码坏味道一高级篇(过度耦合的消息链、过薄的中间对象、紧耦合类、 相似的类、只有数据的类、滥用类的继承关系)
6.通过案例,让学员寻代码坏味道
7.可以根据客户现在的项目作为案例进行现场分析,出相应的代码坏味道
内容二:某项目分析--重点了解现实项目代码的充斥大量坏味道
1.介绍项目需求情况,阅读现有代码指出代码坏症状
2.不看不知道,代码到底有多烂一触目惊心的代码
3.通过重构逐步改善代码质量
4.本案例学习多种重构方式
第三单元重构 技术一怎样对 现有代码重构
内容一:重构技术
1.重构名录
2.介绍72种常见的重构技术
3.分别通过相关案例展示重构技术
内容二:重构案例一该案例重点学习代码格式和命名
1.代码格式规范
2.代码命名-名副其实
3.很重要,但是总被忽略的基本功
4.通过案例介绍代码格式以及如何使用IDE工具进行定制格式
5.通过案例介绍代码的命名,以及如何重构

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。