乐于分享
好东西不私藏

利用AI进行代码的整洁-软件高质量代码体系最佳实践

利用AI进行代码的整洁-软件高质量代码体系最佳实践

一、课程介绍

现在是一个快速变化的时代,我们不得不面对激烈的竞争和快速的市场变化。快速的变化,带来软件需求的快速更迭。当软件系统经历了无数次变更以后,程序变得凌乱不堪、难于维护。这时,开发人员开始看不懂代码,不知该如何变更,进而加快了软件的退化,使得维护变更越来越困难,是软件团队不得不面对的困境。

如何解决这种软件的困境呢?解决思路是代码整洁与AI编程。软件系统在多年的维护过程中总是在面临着代码退化的问题,就像房间不打扫就会越来越脏,解决思路就是定期打扫,也就是“代码整洁”。那么,该如何整洁代码呢?利用当今智能大模型的推理能力,可以帮助我们快速地代码理解、代码优化与代码生成,大大提高代码整洁的工作效率。因此,AI的发展不是为了替代人,而是替代不会用AI的人。

本课程首先深入剖析软件质量下降的根源,提出重构是软件变更中保持高质量与代码整洁的必然道路。紧接着,通过一系列实战案例讲解了,如何通过AI来完成需求的探索、领域模型的设计、系统的开发与代码的优化,从而快速而高效地开发与维护代码,提高工作效率。    

二、研修时间/地点:2026626-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辅助创建测试用例代码

六、主讲专家:

范老师,架构设计专家。从事软件研发工作二十余年,一直坚守在大型软件架构设计一线工作。尤其熟悉互联网架构与分析的特点,长期关注软件代码质量,多次参与大型遗留系统改造、软件系统重构等重大项目。

先后主持或参与了数十个国内外大型软件项目,涉及领域包括互联网、金融、军工、财务、税务等领域。分别担任过需求分析师、主任设计师、项目经理、高级系统架构师、技术专家等各项职务。参与的大型软件项目包括:国家金税工程项目建设、航天科工集团重点项目建设(涉密)、某部委纪检监察部门疑点数据平台建设、爱信诺企业征信大数据平台建设等。