一、课程介绍
现在是一个快速变化的时代,我们不得不面对激烈的竞争和快速的市场变化。快速的变化,带来软件需求的快速更迭。当软件系统经历了无数次变更以后,程序变得凌乱不堪、难于维护。这时,开发人员开始看不懂代码,不知该如何变更,进而加快了软件的退化,使得维护变更越来越困难,是软件团队不得不面对的困境。
如何解决这种软件的困境呢?解决思路是代码整洁与AI编程。软件系统在多年的维护过程中总是在面临着代码退化的问题,就像房间不打扫就会越来越脏,解决思路就是定期打扫,也就是“代码整洁”。那么,该如何整洁代码呢?利用当今智能大模型的推理能力,可以帮助我们快速地代码理解、代码优化与代码生成,大大提高代码整洁的工作效率。因此,AI的发展不是为了替代人,而是替代不会用AI的人。
本课程首先深入剖析软件质量下降的根源,提出重构是软件变更中保持高质量与代码整洁的必然道路。紧接着,通过一系列实战案例讲解了,如何通过AI来完成需求的探索、领域模型的设计、系统的开发与代码的优化,从而快速而高效地开发与维护代码,提高工作效率。
二、研修时间/地点:2026年6月26-27日上海
三、课程对象:各类软件研发中心的软件设计师、架构师、项目经理、技术总监、质量部门经理。对于重构技术怀有疑问和困惑,需要梳理解答的团队和个人,效果最佳。
四:培训特色:本课程注重实战,采用案例贯穿方式完成实践,收集了大量的真实案例,针对项目过程中技术人员常犯的错误进行了汇总、研讨,并最终形成培训教程。本次培训从程序员的编程思维开始讲解,通过大量的真实案例,详细地介绍了重构需要注意的要点以及难点,这些知识都是讲师十几年经验的总结。本次课程1/3时间讲解核心思想,1/3时间动手重构实践,1/3点评分析总结。(课程了解:大刘13260461756(同微信))
五、课程大纲:
第一单元 基于AI代码优化
利用AI代码优化的思路
1.国产智能大模型DeepSeek的应用场景:
1)代码解释:通过AI对代码进行解释与注释
2)代码改写:通过AI对原有代码进行优化
3)代码生成:通过AI根据新需求编写代码
4)代码测试:通过AI根据新需求编写测试用例
2.智能大模型核心原理与应用:
1)提示词工程:如何通过提示词的互动,指导AI编码
2)示例文档上传:如何通过编写与上传示例文档,指导AI工作
3)搭建本地知识库:通过搭建知识库,为AI制定开发规范
关于AI编程的局限与反思
1) AI编程无法去应对复杂的、大规模的应用开发
2) AI编程同样需要制定相应的编码规范
3) AI编程同样需要架构规划与层次划分
4) AI编程同样需要基于设计思想进行设计编码
结论:AI替代的不是人,而是不会使用AI的人
1) 需要更加深刻的理解业务而不是技术
2) 需要更强的架构规划与设计能力
3) 需要对AI编码的正确与否的甄别与判断能力
4) 需要掌握与AI工作与协同的工作技能
解决方案:以知识库作为规范指导AI编程
1.通过知识库制定AI软件开发的模板与规范:
1)文档模板:架构设计的模板、用例模型的模板、领域模型的模板
2)开发规范:领域对象、服务接口、DSL配置、测试用例的开发规范
2.基于知识库进行的AI软件开发:
1)基于业务需求进行分析设计
2)将大任务拆分成无数个小任务
3)基于知识库的规范进行AI编程
4)基于知识库的规范AI编写测试用例
软件开发的轮回
1.起初客户提出的需求并不复杂
2.随着日后的变更,系统开始变得越来越复杂
3.激烈的市场要求快速交付
4.越来越复杂的系统交付速度会越来越慢
5.越来越快的技术发展要求技术架构不断更迭
带来的问题:
1.系统交付速度越来越慢而不能适应市场变化
2.技术架构不断更迭越来越困难而不能适应技术发展
3.测试变得越来越困难而任务繁重
4.软件系统越来越笨重而不适应未来变化
分析与反思:
探讨软件退化的根源
案例分析:演示电商网站付款功能代码质量下降的过程
1.起初的设计
2.随后的变更
3.质量不断下降的过程
软件质量下降的根源:
1.软件总是因变更而变得越来越复杂
2.软件结构已经不再适应复杂的软件需求
3.必须要调整软件结构以适应新的软件需求
4.重构是保持高质量软件设计的习惯
5. 运用AI可以更加高效地理解和重构代码
两顶帽子的设计方式
软件是因需求变更而质量下降吗?
案例分析:推演软件变更的设计过程
应对软件变更的最佳方式:两顶帽子
1.重构原有代码以适应新的需求
2.实现新的需求
案例:演示运用AI进行两顶帽子设计变更的过程
第二单元 高质量的软件设计
在AI时代应该如何编程
1.AI是用于替代人,还是给人提供更加高效的工具?
2.脱离设计的AI编程只能是低质量的代码
3.高质量的软件设计才能指导AI高质量地编写代码
结论:AI时代给设计者提出的是更高的设计要求
准确理解高质量代码
1.剖析高质量代码设计的本质
2.软件的质量保证:内部质量与外部质量
3.高质量软件设计的标准:易于阅读、易于维护、易于变更
准确理解代码整洁之道
1.什么时候应该代码整洁
2.函数代码整洁应当遵循的原则
3.类与接口代码整洁应当遵循的原则
4.注释代码的整洁之道
5.异常处理的代码整洁之道
案例:实战项目的整洁代码展示
案例分析软件设计原则及其本质
1.低耦合
1)依赖反转原则(DIP)
案例:购票业务类与数据访问类
2)开放-封闭原则(OCP)
案例:需求变更与可扩展点设计
案例:Square/Circle的解决方案
2.高内聚
1)单一职责原则(SRP)
案例:财务凭证变更带来的问题
案例:超级大函数与大对象的难题
案例:MySQL读写分离的改造过程
2)不要重复自己原则(DRY)
典型的代码重复案例与散弹式修改
探讨代码复用的设计难题与软件重构
案例讲解:代码复用的常用方法
重构是高质量编码的实现方式
1.重构是代码整洁与高质量编码的实现方式
1)准确理解软件重构
2)每次变更的时候,先重构再实现需求
3)每过一段时间就通过重构整理一次代码
2. 基于AI的软件重构思路
1)用AI进行原始代码的理解
2)用AI进行代码的改写与优化
3)用AI编写测试用例
3.案例:演练Hello World的维护变更过程
1)最初的软件设计
2)第一次变更:抽取方法与抽取类
3)第二次变更:抽取接口与系统分层
4)重构完成以后,用测试用例进行验证
第三单元 领域驱动设计
DDD是应对软件复杂性之道
1.剖析领域驱动的设计思想
2.服务、实体与值对象的概念
3.充血模型与贫血模型的设计思路
4.问题域、子域与限界上下文划分
基于领域模型的设计变更
1.演练基于DDD的设计与变更过程
2.演练领域模型如何指导数据库设计
3.演练领域模型如何指导程序设计
4.聚合、仓库与工厂:傻傻分不清
5.限界上下文:系统拆分的利器
以DDD作为规范指导AI编程
1.通过知识库制定AI软件开发的模板与规范:
1)文档模板:架构设计的模板、用例模型的模板、领域模型的模板
2)开发规范:领域对象、服务接口、DSL配置、测试用例的开发规范
2.基于知识库进行的AI软件开发:
1)AI辅助的软件需求探索与编写需求文档
2)AI辅助编写用例模型
3)AI辅助编写领域模型
4)AI辅助形成数据库设计,编写SQL脚本
5)AI辅助编写领域对象与服务接口代码,进行DSL配置
6)AI辅助,基于某个平台进行业务代码的编写
7)AI辅助创建测试用例代码
六、主讲专家:
范老师,架构设计专家。从事软件研发工作二十余年,一直坚守在大型软件架构设计一线工作。尤其熟悉互联网架构与分析的特点,长期关注软件代码质量,多次参与大型遗留系统改造、软件系统重构等重大项目。
先后主持或参与了数十个国内外大型软件项目,涉及领域包括互联网、金融、军工、财务、税务等领域。分别担任过需求分析师、主任设计师、项目经理、高级系统架构师、技术专家等各项职务。参与的大型软件项目包括:国家金税工程项目建设、航天科工集团重点项目建设(涉密)、某部委纪检监察部门疑点数据平台建设、爱信诺企业征信大数据平台建设等。
夜雨聆风