核心课程
Porducts
当前位置:首页    核心课程    IT技术
IT技术
本模块设计采用可视化与沙盘演练相结合的培训方式,将知识体系以可视化方式呈现来完成,对学员的实际专业知识进行咨询指导,帮助团队完善产品开发管理流程,定制符合自己特点的过程、方法和规范,提升组织级产品开发管理水平;以学员更容易理解的方式完成课程,可以达到非常好的培训效果,打开学员的兴趣,为实际工作做好准备。
架构&设计   卓越程序员—编写稳定可靠的优质代码

image.png  卓越程序员—编写稳定可靠的优质代码课程

image.png  课程天数:2天

image.png  课程介绍

     本课程收集了大量的真实案例,针对项目过程中技术人员常犯的错误进行了汇总研讨,形成改进解决方案的培训教程。试图通过大量的真实案例和代码,以“魔鬼训练”式的代码训练方式让学员通过亲自动手操作来理解代码设计,编写,重构以及调试。

image.png  课程收益

     本课程注重实战,采用案例贯穿方式完成实践,收集了大量的真实案例,针对项目过程中技术人员常犯的错误进行了汇总,研讨,并最终形成培训教程。本次培训从程序员的基本编程思维开始讲解,通过大量的真实案例,贯穿了设计、编码、重构等过程,详细地介绍了各个阶段需要注意的要点以及难点,这些知识都是多年编程经验的总结,使学员尽量避免重复犯错,让代码更具健壮性。

image.png  培训对象

     开发人员、项目经理、架构师、技术负责人、技术总监等;


image.png  课程大纲

第一单元 成为卓越的程序员

内容一:成为卓越的程序员----代码能力及关键因素

     • 软件的核心是什么(市场?客户关系?管理?技术?需求?销售?测试?)

     • 做一个优秀的程序员并不简单!

     • 低头看路与抬头看天——理论与实践的结合

     • 优秀代码的评价标准

     • 优秀的代码,而不仅是可以运行的代码

     • 劣质代码的代价


内容二:案例—通过实际项目演示优秀的代码及不佳代码

     • 介绍项目背景,展现设计细想

     • 阅读代码指出代码坏症状

     • 重构为优秀的代码,介绍重构的思想及代码对比


内容三:养成良好的编程习惯

     • 努力避免错误而不是发现改进错误

     • 程序的易读性,程序编写风格的一致性

     • 学习阅读别人的代码(包括优秀框架的源码),但不要盲目跟在别人后面,不要说“别人也是这么做的”,要弄清这么做的理由

     • 阅读函数的实现代码有利于帮助你理解函数的功能

     • 尽早发现并改正错误

     • 最小权限原则(信息隐藏原则)

     • 避免重复的代码,使用函数来完成

     • 消除冗余的代码,删除不用的变量

     • 进行防错性程序设计,但不要隐瞒错误

     • 函数和功能模块的划分,功能单一,名符其实的函数

     • 减少关联性,尽量不依赖外界条件

     • 函数的长度,每个函数只完成它自己的任务

     • 明确函数的参数,尽量不要使用多种功能的参数类型

     • 设计并加入调试代码,用速度和大小换取错误检查能力

     • 消去随机特性,使错误稳定再现

     • 消去可能的错误隐患,不要给自己和别人犯错误的机会


第二单元:如何写出优质的代码——函数、类、模块

内容一:如何写出优质的函数——每个条目都配置案例分析

     • 函数设计的原则

     • 函数的参数如何设计

     • 如何理解“函数要短小”的说法? —— 仅仅是因为编码规范要求吗?

     • Bool型参数的危害及避免的常用技巧

     • 如何处理函数中的硬编码

     • 如何组织函数的流程

     • 处理复杂逻辑的函数的技巧——即使业务逻辑确实很复杂!

     • 如何避免复杂的if-else结构

     • 如何处理“很长很复杂”的函数

     • 对switch-case结构的处理

     • 对try-catch结构的处理

     • 如何将不同流程步骤的函数进行统一处理


内容二:如何写出优质的类——每个条目都配置案例分析

     • 类的高扇入和低扇出原则

     • 类中临时成员变量的危害及处理方法

     • 如何处理“过大的类”

     • 将类从3个维度进行分解——类的设计

     • 流程控制类的设计技巧

      功能实现类的设计技巧

     • 设计为类与设计为类的不同对象的讨论

     • 设计为成员变量与设计为类的讨论

     • 处理“逻辑复杂的类”的技巧——即使业务逻辑确实很复杂!

     • 类的封装性使用——高性价比的方法


内容三:类的继承、多态、抽象及案例分析

     • 类的继承关系与聚合关系的选择及误用——实际案例分析,什么情况下使用类的继承,什么情况下使用类的聚合。

     • 类继承中父子关系与兄弟关系的选择及误用——实际案例分析,什么情况下2个类为父子关系,什么情况应为兄弟关系。

     • 子类中空函数的分析及解决方法——实际案例分析。

     • 类型判断的误用——多态

     • 类的多态在设计中的价值及案例分析

     • 复杂的类关系设计——既继承又聚合的关系,及实际案例分析

     • 如何写出抽象而可扩展的类


内容四:接口设计及案例分析——每个条目都配置案例分析

     • 接口设计的要素及实例

     • 接口与抽象类的区别

     • 类接口与外接口——案例分析

     • 如何通过接口进行边界隔离——案例分析

     • 接口在系统灵活性设计中的地位及实例分析


内容五:如何写出优质的模块——每个条目都配置案例分析

     • 模块划分的基本原则——超市收款系统案例

     • 模块划分中,如何处理2个模块耦合的部分

     • 模块设计中,如何做到统一和抽象

     • 运用层模块的设计要点

     • 服务层模块的设计要点

     • 模型成模块的设计要点

     • 实体层模块的设计要点


内容六:案例分析及练习

     • 分析已有的代码,看违反上述原则与遵从上述原则的代码。

     • 练习,反复训练每个原则,达到自然习得。

     • 本案例学习多种代码设计原则的实际使用。


第三单元:典型情况的应对编程——理解常见模式的本质

内容一:案例---重点介绍重构基本类型依赖和对应模式

     • 通过案例学习以下重构到模式手段

     • 以State取代状态改变条件语句

     • 以Strategy取代条件逻辑

     • 以Composite取代隐含树

     • 以Interpreter取代隐式语言

     • 转移装饰功能到Decorator

     • 用Builder封装Composite

     • 重点学习案例的重构到模式的过程


内容二:案例---重点介绍重构代码重复和对应模式

     • 通过案例学习以下重构到模式手段

     • 构造Template Method

     • 以Composite取代一/多之分

     • 引入Null Object

     • 用Adapter统一接口

     • 用Fatory Method引入多态创建

     • 重点学习案例的重构到模式的过程


内容三:案例---重点介绍重构代码过长/过大的类/方法和对应模式

     • 转移聚集操作到Vistor

     • 以Strategy取代条件逻辑

     • 以Command取代条件调度程序

     • 转移聚集操作到Collecting Parameter

     • 重点学习案例的重构到模式的过程


内容四:案例---重点介绍条件逻辑过度复杂和对应模式

     • 以Strategy取代条件逻辑

     • 以State取代状态改变条件语句

     • 转移装饰功能到Decorator

     • 引入Null Object

     • 以Command替换条件调度程序

     • 转移聚集操作到Visitor 

     • 重点学习案例的重构到模式的过程


第四单元:如何达到优秀的设计

内容一:什么是好的设计以及如何预先设计实现 

     • 什么是好的设计和衡量的手段

     • 可扩展性(Extensibility)容易添加新的功能. 结合案例,通过那些手段如何实现该目标

     • 灵活性(Flexibility)代码修改平稳地发生. 结合案例,通过那些手段如何实现该目标

     • 可插入性(Pluggability)容易将一个类抽出去,同时将另一个有同样接口的类加入进来. 结合案例,通过那些手段如何实现该目标

     • 软件的变化分析---发现变化/封装变化/隔离变化

     • 分析真实项目,如何预先设计,给我们哪些启示,我们可以学习到什么


内容二:类及函数实现实战演练

     • 要点:使用类进行封装及信息隐藏,案例分析。

     • 要点:对象创建及生命周期管理的原则,案例分析。

     • 要点:函数、类、模块间低耦合关系的实现要点。案例分析。

     • 要点:把握函数、类、模块核心职责,高内聚模及案例分析。

     • 要点:用逻辑类的函数、类来组织软件,重点案例分析。

     • 要点:深入分析面向对象中的多态及其使用。

     • 要点:用中间连接模块来粘合核心模块,案例分析。

     • 要点:抽象及间接的使用,案例分析。

     • 要点:隔离不同的关注面,保护变量模式的使用及案例分析

     • 编码实践中,类及函数如何实现是达到优质代码的难点,也是重点。

     • 本节从多个案例进行分析, 每个要点从入门介绍到深入讨论,分析我们在项目之中是那些原因导致了没有实现这些目标.


内容三:案例—某项目设计思路分析

     • 案例情况

     • 演示如何发现设计坏味道,以及如何重构


  课程目录
1、高级系统架构设计实战
2、重构和领域驱动开发
3、软件设计模式最佳实践
4、重构-改善遗留软件质量和设计
5、单元测试实战训练营
6、卓越程序员—编写稳定可靠的优质代码
7、互联网分布式架构设计
8、使用Spring Cloud与Kubernetes构建微服务架构
9、微服务架构与容器化技术赋能企业应用
10、互联网大型高可用高并发架构设计与实践
11、基于Istio的微服务Service Mesh实战
站内搜索
联系电话
010-52883521
24小时全国咨询热线,言语交流更有效
公众平台
QQ客服

点击图标,马上与客服沟通  >>
返回顶部