IC培训
   
 
软件重构实战培训
 
   班级规模及环境--热线:4008699035 手机:15921673576( 微信同号)
       坚持小班授课,为保证培训效果,增加互动环节,每期人数限3到5人。
   上课时间和地点
开课地址:【上海】同济大学(沪西)/新城金郡商务楼(11号线白银路站)【深圳分部】:电影大厦(地铁一号线大剧院站) 【武汉分部】:佳源大厦【成都分部】:领馆区1号【沈阳分部】:沈阳理工大学【郑州分部】:锦华大厦【石家庄分部】:瑞景大厦【北京分部】:北京中山学院 【南京分部】:金港大厦
最新开班 (连续班 、周末班、晚班):2020年6月15日
   实验设备
     ☆资深工程师授课
        
        ☆注重质量 ☆边讲边练

        ☆合格学员免费推荐工作
        ★实验设备请点击这儿查看★
   质量保障

        1、培训过程中,如有部分内容理解不透或消化不好,可免费在以后培训班中重听;
        2、课程完成后,授课老师留给学员手机和Email,保障培训效果,免费提供半年的技术支持。
        3、培训合格学员可享受免费推荐就业机会。

课程大纲
 

软件重构实战训练营课程主要内容 第一部分 为什么软件需要及时重构
·第一章 软件代码腐烂
第二部分 重构基本概念
·第二章 何为重构
·第三章 重构
第四章 重构难题
第三部分 重构实战一函数相关重构
·第五章 函数相关重构
第四部分 重构实战一模块/架构重构
·第六章 重构模式
·第七章 模块重构
·第八章 架构重构
·第九章 重构管理
第一章 软件代码腐烂 内容一:软件业者的反思: 软件腐烂
1.软件腐烂(Software rot),也叫做代码腐烂(code rot)或软件腐朽(software decay)。它描述了随着时间的逝去感知到软件的缓慢衰退,其将最终导致它变得不完善、不可使用或难以维护。
2.软件腐烂(Software rot)有两种形式:
a)隐匿的腐烂:软件逐渐不再(仍)被使用随着剩余的应用程序的改变变得不能用。它已经被观察到不再被使用的软件有可能一年的半衰期;
b) 活动的腐烂:软件随着不断地被修改趋向于失去它的完整性。
3.破窗效应与技术债务
4.案例演示1-通过演示大型项目,随着客户需求的变化,导致软件结构混乱,大家反思,为什么? 你认为软件腐烂的原因? 反思你们公司的软件系统也面临这样的问题吗?
第二章 何为重构 内容一:重构
1.重构概述
2.何时重构
3.重构的误区
4.重构是持续进行的,不要先编写烂代码,再抽出重构
5.如何发现哪些地方需要重构
6.如何保证重构的正确
7.如何测试重构
8.通过一个小案例演示重构的基本思想(什么时间重构,如何发现重构点,如何保证重构的正确性,最后如何验收)

内容二:案例—通过实际项目演示重构
1.介绍项目需求情况,进行设计
2.阅读代码指出代码坏症状
3.通过重构逐步改善代码质量
4.通过该案例演示重构的过程,我们遇到的难处,如何解决?

内容三:重构关键—代码的坏味道
1.代码坏味道概述
2.代码坏味道的分类
3.识别代码坏味道,是重构的最重要一步
4.所谓重构,无非就是嗅到坏味道,然后,一小步一小步的改了它。问题是,很多人对坏味道的容忍度让他们嗅不到坏味道,
5.案例分析—通过真实项目的代码,分析代码坏味道

内容四:代码坏味道—代码的质量底线
1.代码坏味道概述
2.代码坏味道的分类
3.代码坏味道----低级篇(重复的代码、过长的函数、过大的类、过长的参数列表、发散式变化、分散的修改)
4.代码坏味道----中级篇(伪面向对象的调用、数据泥团、基本类型的误用、switch-case结构的误用、平行继承体系、过薄的类、只有局部意义的成员变量)
5.代码坏味道----高级篇
6.通过案例,让学员寻找代码坏味道
7.可以根据客户现在的项目作为案例进行现场分析,找出相应的代码坏味道

内容五:某项目分析----重点了解现实项目代码的充斥大量坏味道
1.介绍项目需求情况,阅读现有代码指出代码坏症状
2.不看不知道,代码到底有多烂—触目惊心的代码
3.通过重构逐步改善代码质量
4.本案例学习多种重构方式
第三章 重构 内容一:重构
1.重构手法概述
2.简要演示重构的主要手法
3.使用IDE重构工具进行重构
4.通过案例演示如何通过重构工具完成重构

内容二:Rhythm of Refactoring -baby step
1.Baby steps involve making a few code changes and then checking your work by running tests. Typical refactorings take seconds or minutes to perform
2.The Rhythm of Refactoring goes like this:
a)Verify that all automated tests (microtests) pass
b)Decide what code to change
c)Implement one or more refactorings carefully
d)Run the microtests whenever you wish to confirm that changes have not altered system behavior
e)Repeat until the refactoring is complete or revert to an earlier state

内容三: Refactoring Strategies & Tactics
1.Refactoring Strategy: Piecemeal Refactoring
2.Refactoring Strategy:Divide & Conquer
3.Refactoring Strategy:Narrowed Change
4.Refactoring Strategy:Parallel Change
5.Refactoring Strategy:Unified Methods
6.Refactoring Strategy:Evolved Target
7.Refactoring Strategy: Graceful Retreat
8.Refactoring Strategy: Gradual Cutover
9.Refactoring Strategy: Preparing for Change
10.Refactoring Tactic: Rejected Parameter
11.Refactoring Tactic: Caller Swap
12.Refactoring Tactic:Encapsulated Dependency
第四章 重构难题 内容一:重构技术难题
1.如何发现重构点
2.知道重构的目标(结果)
3.如何去重构—重构实践
4.如何保证重构的正确性-单元测试

内容二:重构业务难题
1.重构手法概述
2.简要演示重构的主要手法
第五章 函数相关重构 内容一:函数的重构
1.函数的重构
2.巨型函数的种类
a)项目列表式巨型方法
b)锯齿状巨型方法
3.分解函数
4.助手方法提取
5.利用自动重构对付巨型方法
6.利用手工重构对付巨型方法
7.引入感知变量
8.函数依赖收集
9.分解助手方法和方法对象
10.通过案例介绍长函数的重构最佳实践

内容二:高质量函数/过程
1.为什么需要函数
2.函数复杂度度量
3.函数圈复杂度以及度量
4.函数抽象层次-单一抽象层次原则SLAP(Single Level of Abstrction Principle)
5.函数实现模式之—组合函数(Composed Method)
6.万恶之源—函数过长
7.函数的单一职责
8.函数第一原则:是要短小,函数第二原则:是还要短小,函数第三原则:是必须短小
9.函数重构之道—抽取方法(Extract Method)和抽取对象函数
10.函数命名—怎样取好的函数名
11.通过大量项目代码分析,函数的遇到的各种问题,如何编程高质量函数

内容三:函数易理解与沟通
1.函数主体流
2.函数的异常处理
3.函数主题流程简化方法1-助手方法
4.助手方法的应用场景
5.助手方法的效果
6.函数主题流程简化方法2-函数对象(MethodObject)
通过真实项目代码进行分析,如果提高代码的可读性

内容四:函数10个一
1.每个变量只用于单一用途
2.每一个行代码只表达一件事
3.一个循环只做一件事
4.单一抽象层次原则
5.代码组织得一次只做一件事情
6.函数体内只关注一种变化的原因(动机)
7.函数应该遵守单一职责
8.函数圈复杂应该小于一十
9.函数第一原则是必须要短小
10.编写函数时必须一心一意,专注,怀有谦卑的心态
第六章 重构模式 内容一:重构到模式
1.软件设计的基本原则
2.设计模式概述
3.设计模式的本质论
4.设计模式如何适应变化和封装
5.重构到模式的思路

内容二:案例---重点介绍重构基本类型依赖和对应模式
1.通过案例学习以下重构到模式手段
2.以State取代状态改变条件语句
3.以Strategy取代条件逻辑
4.以Composite取代隐含树
5.以Interpreter取代隐式语言
6.转移装饰功能到Decorator
7.用Builder封装Composite
8.重点学习案例的重构到模式的过程

内容三:案例---重点介绍重构代码重复和对应模式
1.通过案例学习以下重构到模式手段
2.构造Template Method
3.以Composite取代一/多之分
4.引入Null Object
5.用Adapter统一接口
6.用Fatory Method引入多态创建
7.重点学习案例的重构到模式的过程
第七章 模块重构 内容一:模块重构
1.结合以下问题进行分析,具体内容还在整理之中
2.由于有些同事不会去分析数据流,不会去根据数据流去抽象和设计,从而导致了数据流的不少处理环节的代码互相耦合严重,公有变量不合理。建议去谈谈从数据流进行抽象和设计的方法。
3.我们提供给客户的软件产品,二次开发不太方便(可读性差,可扩展性差,可维护性差)。如何通过重构去达成更好的二次开发便利性?
4.如何通过合理的调整,确保迭代开发的过程真正做到“增量开发”,而不是“修改”已有代码?
5. 如何屏蔽硬件变化导致的软件系统需要大幅度的修改?
6.分析某项目,演示模块重构,如何在大型应用系统进行模块重构
第八章 架构重构 内容一: 架构重构
1.软件架构概述
2.遗留系统的软件架构恢复
3.软件架构的重构时机
4.软件架构的重构步骤
5.架构坏味道
6.架构重构策略

内容二:案例分析—某互联网项目架构重构(根据时间调整)
1.项目背景以及相关需求
2.软件架构的演进与重构过程
3.质量属性对软件架构的驱动
4.架构的可扩展性架构
5.缓存技术在架构之中的应用
6.Web层的架构策略
7.中间层的架构和集群策略
8.大型并发系统Session的复制和容错架构策略
9.数据的架构
10.该案例主要演示软件架构的重构策略
第九章 重构管理 内容一:安全重构
1.重构的恐惧心里
2.重构勇气
3.安全重构和祈祷式重构
4.安全重构保证
5.通过案例如何保证重构的正确性

端海教育实验设备
android开发板
linux_android开发板
fpga图像处理
端海培训实验设备
fpga培训班
 
本课程部分实验室实景
端海实验室
实验室
端海培训优势
 
  合作伙伴与授权机构



Altera全球合作培训机构



诺基亚Symbian公司授权培训中心


Atmel公司全球战略合作伙伴


微软全球嵌入式培训合作伙伴


英国ARM公司授权培训中心


ARM工具关键合作单位
  我们培训过的企业客户评价:
    端海的andriod 系统与应用培训完全符合了我公司的要求,达到了我公司培训的目的。 特别值得一提的是授课讲师针对我们公司的开发的项目专门提供了一些很好程序的源代码, 基本满足了我们的项目要求。
——上海贝尔,李工
    端海培训DSP2000的老师,上课思路清晰,口齿清楚,由浅入深,重点突出,培训效果是不错的,
达到了我们想要的效果,希望继续合作下去。
——中国电子科技集团技术部主任 马工
    端海的FPGA 培训很好地填补了高校FPGA培训空白,不错。总之,有利于学生的发展, 有利于教师的发展,有利于课程的发展,有利于社会的发展。
——上海电子学院,冯老师
    端海给我们公司提供的Dsp6000培训,符合我们项目的开发要求,解决了很多困惑我 们很久的问题,与端海的合作非常愉快。
——公安部第三研究所,项目部负责人李先生
    MTK培训-我在网上找了很久,就是找不到。在端海居然有MTK驱动的培训,老师经验 很丰富,知识面很广。下一个还想培训IPHONE苹果手机。跟他们合作很愉快,老师很有人情味,态度很和蔼。
——台湾双扬科技,研发处经理,杨先生
    端海对我们公司的iPhone培训,实验项目很多,确实学到了东西。受益无穷 啊!特别是对于那种正在开发项目的,确实是物超所值。
——台湾欧泽科技,张工
    通过参加Symbian培训,再做Symbian相关的项目感觉更加得心应手了,理 论加实践的授课方式,很有针对性,非常的适合我们。学完之后,很轻松的就完成了我们的项目。
——IBM公司,沈经理
    有端海这样的DSP开发培训单位,是教育行业的财富,听了他们的课,茅塞顿开。
——上海医疗器械高等学校,罗老师
  我们最新培训过的企业客户以及培训的主要内容:
 

一汽海马汽车 DSP培训
苏州金属研究院 DSP培训
南京南瑞集团技术 FPGA培训
西安爱生技术集团 FPGA培训,DSP培训
成都熊谷加世电气 DSP培训
福斯赛诺分析仪器(苏州) FPGA培训
南京国电工程 FPGA培训
北京环境特性研究所 达芬奇培训
中国科学院微系统与信息技术研究所 FPGA高级培训
重庆网视只能流技术开发 达芬奇培训
无锡力芯微电子股份 IC电磁兼容
河北科学院研究所 FPGA培训
上海微小卫星工程中心 DSP培训
广州航天航空 POWERPC培训
桂林航天工学院 DSP培训
江苏五维电子科技 达芬奇培训
无锡步进电机自动控制技术 DSP培训
江门市安利电源工程 DSP培训
长江力伟股份 CADENCE 培训
爱普生科技(无锡 ) 数字模拟电路
河南平高 电气 DSP培训
中国航天员科研训练中心 A/D仿真
常州易控汽车电子 WINDOWS驱动培训
南通大学 DSP培训
上海集成电路研发中心 达芬奇培训
北京瑞志合众科技 WINDOWS驱动培训
江苏金智科技股份 FPGA高级培训
中国重工第710研究所 FPGA高级培训
芜湖伯特利汽车安全系统 DSP培训
厦门中智能软件技术 Android培训
上海科慢车辆部件系统EMC培训
中国电子科技集团第五十研究所,软件无线电培训
苏州浩克系统科技 FPGA培训
上海申达自动防范系统 FPGA培训
四川长虹佳华信息 MTK培训
公安部第三研究所--FPGA初中高技术开发培训以及DSP达芬奇芯片视频、图像处理技术培训
上海电子信息职业技术学院--FPGA高级开发技术培训
上海点逸网络科技有限公司--3G手机ANDROID应用和系统开发技术培训
格科微电子有限公司--MTK应用(MMI)和驱动开发技术培训
南昌航空大学--fpga 高级开发技术培训
IBM 公司--3G手机ANDROID系统和应用技术开发培训
上海贝尔--3G手机ANDROID系统和应用技术开发培训
中国双飞--Vxworks 应用和BSP开发技术培训

 

上海水务建设工程有限公司--Alter/Xilinx FPGA应用开发技术培训
恩法半导体科技--Allegro Candence PCB 仿真和信号完整性技术培训
中国计量学院--3G手机ANDROID应用和系统开发技术培训
冠捷科技--FPGA芯片设计技术培训
芬尼克兹节能设备--FPGA高级技术开发培训
川奇光电--3G手机ANDROID系统和应用技术开发培训
东华大学--Dsp6000系统开发技术培训
上海理工大学--FPGA高级开发技术培训
同济大学--Dsp6000图像/视频处理技术培训
上海医疗器械高等专科学校--Dsp6000图像/视频处理技术培训
中航工业无线电电子研究所--Vxworks 应用和BSP开发技术培训
北京交通大学--Powerpc开发技术培训
浙江理工大学--Dsp6000图像/视频处理技术培训
台湾双阳科技股份有限公司--MTK应用(MMI)和驱动开发技术培训
滚石移动--MTK应用(MMI)和驱动开发技术培训
冠捷半导体--Linux系统开发技术培训
奥波--CortexM3+uC/OS开发技术培训
迅时通信--WinCE应用与驱动开发技术培训
海鹰医疗电子系统--DSP6000图像处理技术培训
博耀科技--Linux系统开发技术培训
华路时代信息技术--VxWorks BSP开发技术培训
台湾欧泽科技--iPhone开发技术培训
宝康电子--Allegro Candence PCB 仿真和信号完整性技术培训
上海天能电子有限公司--Allegro Candence PCB 仿真和信号完整性技术培训
上海亨通光电科技有限公司--andriod应用和系统移植技术培训
上海智搜文化传播有限公司--Symbian开发培训
先先信息科技有限公司--brew 手机开发技术培训
鼎捷集团--MTK应用(MMI)和驱动开发技术培训
傲然科技--MTK应用(MMI)和驱动开发技术培训
中软国际--Linux系统开发技术培训
龙旗控股集团--MTK应用(MMI)和驱动开发技术培训
研祥智能股份有限公司--MTK应用(MMI)和驱动开发技术培训
罗氏诊断--Linux应用开发技术培训
西东控制集团--DSP2000应用技术及DSP2000在光伏并网发电中的应用与开发
科大讯飞--MTK应用(MMI)和驱动开发技术培训
东北农业大学--IPHONE 苹果应用开发技术培训
中国电子科技集团--Dsp2000系统和应用开发技术培训
中国船舶重工集团--Dsp2000系统开发技术培训
晶方半导体--FPGA初中高技术培训
肯特智能仪器有限公司--FPGA初中高技术培训
哈尔滨大学--IPHONE 苹果应用开发技术培训
昆明电器科学研究所--Dsp2000系统开发技术
奇瑞汽车股份--单片机应用开发技术培训


 
 
  端海企业学院  
热线:4008699035 手机:15921673576( 微信同号)
备案号:备案号:沪ICP备08026168号-1 .(2014年7月11).....................
友情链接:Cadence培训 ICEPAK培训 EMC培训 电磁兼容培训 sas容培训 罗克韦尔PLC培训 欧姆龙PLC培训 PLC培训 三菱PLC培训 西门子PLC培训 dcs培训 横河dcs培训 艾默生培训 robot CAD培训 eplan培训 dcs培训 电路板设计培训 浙大dcs培训 PCB设计培训 adams培训 fluent培训系列课程 培训机构课程短期培训系列课程培训机构 长期课程列表实践课程高级课程学校培训机构周末班培训 南京 NS3培训 OpenGL培训 FPGA培训 PCIE培训 MTK培训 Cortex训 Arduino培训 单片机培训 EMC培训 信号完整性培训 电源设计培训 电机控制培训 LabVIEW培训 OPENCV培训 集成电路培训 UVM验证培训 VxWorks培训 CST培训 PLC培训 Python培训 ANSYS培训 VB语言培训 HFSS培训 SAS培训 Ansys培训 短期培训系列课程培训机构 长期课程列表实践课程高级课程学校培训机构周末班 端海 教育 企业 学院 培训课程 系列班 长期课程列表实践课程高级课程学校培训机构周末班 短期培训系列课程培训机构 端海教育企业学院培训课程 系列班培训机构 短期培训系列课程培训机构 端海教育企业学院培训课程 系列班 培训中心 培训机构 软件无线电培训 FPGA电机控制培训 Xilinx培训 Simulink培训 DSP培训班 数字信号培训 Ansys培训 LUA培训 单片机培训班 PCB设计课程 PCB培训 电源培训 电路培训 CST培训 PLC课程 变频器课程 Windows培训 R语言培训 Python培训 5G培训
在线客服