会员
周边
众包
新闻
博问
闪存
赞助商
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
躺柒
博客园
首页
新随笔
联系
订阅
管理
随笔 - 788
文章 - 0
评论 - 17
阅读 -
49126
读C#代码整洁之道笔记07_代码评审和集成测试
合集 - 读C#代码整洁之道(8)
1.
C#代码整洁之道读后总结与感想
2023-01-16
2.
读C#代码整洁之道笔记01_C#的编码标准和原则
2023-03-20
3.
读C#代码整洁之道笔记02_类、对象和数据结构及编写整洁函数
2023-03-21
4.
读C#代码整洁之道笔记03_切面关注点、异常处理和线程与并发
2023-03-22
5.
读C#代码整洁之道笔记04_重构C#代码识别代码坏味道
2023-03-23
6.
读C#代码整洁之道笔记05_使用工具改善代码和单元测试
2023-03-24
7.
读C#代码整洁之道笔记06_API的设计与开发
2023-01-06
8.
读C#代码整洁之道笔记07_代码评审和集成测试
2023-01-07
1.
代码评审注意事项
1.1.
始终保持代码评审的意识
1.2.
保证代码构建成功
1.3.
确保所有的测试都是通过的
1.4.
注意YAGNI原则
1.5.
检查重复代码
1.6.
使用静态分析器
1.7.
在代码开发完成之后,进入QA部门进行测试之前执行
1.8.
小步提交是有效传递信息的方式
1.9.
少量的代码比大量的代码更容易评审
1.10.
需要审查的代码越多,越容易出现漏网之鱼
1.11.
在等待代码审查时,请不要再对代码进行任何更改
2.
代码评审人员技能和知识
2.1.
技术权威性
2.2.
具备良好的软技能
2.3.
不要过于挑剔
3.
评审内容
3.1.
应当仅限于开发人员更改并提交的代码
3.2.
公司编码规范与业务需求
3.3.
命名规则
3.3.1.
命名是否足够长,使人容易阅读和理解
3.3.2.
体现代码意图又足够短
3.3.3.
评审人必须能够读懂代码
3.4.
代码格式
3.5.
测试
3.5.1.
易于理解并涵盖尽可能多的用例
3.6.
性能和安全性
3.6.1.
是否存在性能瓶颈
3.6.2.
是否能够防范SQL注入或者拒绝服务(Denial-of-Service,DoS)攻击
3.6.3.
是否对数据进行了充分的验证以保证数据的清洁
3.6.4.
是否只有验证通过的数据才能存储在数据库中
3.6.5.
是否检查了用户界面、文档和错误消息中的拼写错误
3.6.6.
是否有魔法数字(magic number)或者硬编码的值
3.6.7.
配置数据是否正确
3.6.8.
是否有意外提交的密钥
3.7.
架构规范和设计模式
3.7.1.
GoF设计模式
3.7.1.1.
Erich Gamma、Richard Helm、Ralph Johnson和John Vlissides
4.
设计模式
4.1.
创建型
4.1.1.
单例设计模式(singleton)
4.1.1.1.
确保在应用程序级别只会创建一个实例
4.1.2.
工厂方法设计模式(factory method)
4.1.2.1.
在不使用具体类的前提下创建对象
4.1.3.
抽象工厂设计模式(abstract factory)
4.1.3.1.
无须指定具体类而创建一组相关的或者依赖的对象
4.1.4.
原型设计模式(prototype)
4.1.4.1.
指定要创建的原型的类型来创建原型的副本
4.1.5.
建造者设计模式(builder)
4.1.5.1.
将对象的创建和对象的表示区分开
4.2.
结构型
4.2.1.
适配器模式
4.2.1.1.
令接口不兼容的类顺畅地协同工作
4.2.2.
桥接模式
4.2.2.1.
抽象和实现解耦以降低代码的耦合度
4.2.3.
组合模式
4.2.3.1.
将对象组合并使用统一的方式使用各个对象或对象的组合
4.2.4.
装饰器模式
4.2.4.1.
在保持接口一致性的同时动态地向对象添加新的功能
4.2.5.
外观模式
4.2.5.1.
简化庞大的或复杂的接口
4.2.6.
享元模式
4.2.6.1.
节省内存并在对象之间传递共享数据
4.2.7.
代理模式
4.2.7.1.
可以截获客户端和API之间的调用
4.3.
行为型
4.3.1.
职责链模式
4.3.1.1.
对象顺序组成一个流水线来处理传入的请求
4.3.2.
命令模式
4.3.2.1.
将对象某个时间点需要调用方法的所有信息封装起来
4.3.3.
解释器模式
4.3.3.1.
解释特定语法
4.3.4.
迭代器模式
4.3.4.1.
用于顺序访问聚合对象的每一个元素而无须暴露对象的内部表示
4.3.5.
中介者模式
4.3.5.1.
对象通过中介互相通信
4.3.6.
备忘录模式
4.3.6.1.
捕获并存储对象的状态
4.3.7.
观察者模式
4.3.7.1.
观察对象,并在被观察对象的状态发生改变时通知观察者
4.3.8.
状态模式
4.3.8.1.
在状态变化时更改对象行为
4.3.9.
策略模式
4.3.9.1.
定义了一类可更换的封装算法
4.3.10.
模板方法
4.3.10.1.
定义了可以在子类中重写的算法及算法中的步骤
4.3.11.
访问者模式
4.3.11.1.
可以在现有的一组对象中添加新的操作而无须更改这些对象
5.
端到端(End-to-end,E2E)系统测试
5.1.
集成测试
5.2.
工厂方法模式
5.2.1.
当类无法确认应该实例化何种类型时
5.2.2.
当子类必须指明需要实例化的对象类型时
5.2.3.
当类控制其对象的实例化时
5.3.
依赖注入(Dependency Injection,DI)
5.3.1.
将代码的行为与依赖项分离而产生低耦合的代码
5.3.2.
构造器注入
5.3.3.
属性/setter注入
5.3.4.
方法注入
5.4.
模块化
5.4.1.
测试模块之间的交互以确保模块之间能够按照预期协同工作
合集:
读C#代码整洁之道
好文要顶
关注我
收藏该文
微信分享
躺柒
粉丝 -
50
关注 -
0
+加关注
0
0
升级成为会员
»
下一篇:
读编程与类型系统笔记01_类型简介
posted @
2023-01-07 20:32
躺柒
阅读(
92
) 评论(
0
)
编辑
收藏
举报
刷新页面
返回顶部
登录后才能查看或发表评论,立即
登录
或者
逛逛
博客园首页
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
相关博文:
·
读程序员的README笔记09_代码评审
·
读C#代码整洁之道笔记01_C#的编码标准和原则
·
《代码整洁之道》读书笔记
·
随笔九:代码评审
·
[引]谷歌代码评审开发者指南
阅读排行:
·
【.NET】调用本地 Deepseek 模型
·
CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
·
DeepSeek “源神”启动!「GitHub 热点速览」
·
我与微信审核的“相爱相杀”看个人小程序副业
·
Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
公告
昵称:
躺柒
园龄:
2年1个月
粉丝:
50
关注:
0
+加关注
<
2025年2月
>
日
一
二
三
四
五
六
26
27
28
29
30
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
1
2
3
4
5
6
7
8
搜索
常用链接
我的随笔
我的评论
我的参与
最新评论
我的标签
合集
学信息系统项目管理师第4版(35)
学系统集成项目管理工程师(中项)(43)
读高性能MySQL(第4版)(21)
读发布!设计与部署稳定的分布式系统(第2版)(34)
随笔及总结(26)
读改变未来的九大算法(10)
读数据压缩入门(11)
读C#代码整洁之道(8)
读编程与类型系统(12)
读函数式编程思维(6)
读Java8函数式编程(9)
读Java实战(第二版)(20)
读Java性能权威指南(第2版)(31)
读SQL进阶教程(17)
选读SQL经典实例(23)
读SQL学习指南(第3版)(13)
读图数据库实战(11)
读程序员的制胜技(15)
读像火箭科学家一样思考(16)
读程序员的README(19)
读算法霸权(13)
读元宇宙改变一切(14)
读AI3.0(10)
读千脑智能(13)
读十堂极简人工智能课(9)
读人工不智能:计算机如何误解世界(10)
读算法的陷阱:超级平台、算法垄断与场景欺骗(20)
读所罗门的密码(21)
读天才与算法:人脑与AI的数学思维(26)
读人工智能时代与人类未来(19)
读AI未来进行式(12)
读AI新生:破解人机共存密码(18)
读人工智能全传(16)
读写给大家的AI极简史(7)
读零信任网络:在不可信网络中构建安全系统(21)
读软件开发安全之道:概念、设计与实施(17)
读软件设计的要素(7)
读构建可扩展分布式系统:方法与实践(16)
读数据湖仓(9)
读数据工程之道:设计和构建健壮的数据系统(34)
读数据质量管理:数据可靠性与数据质量问题解决之道(20)
读数据保护:工作负载的可恢复性(31)
读量子霸权(18)
读算法简史:从美索不达米亚到人工智能时代(15)
读当我点击时,算法在想什么?(7)
读DAMA数据管理知识体系指南(4)
更多
随笔档案
2025年2月(25)
2025年1月(31)
2024年12月(31)
2024年11月(30)
2024年10月(31)
2024年9月(30)
2024年8月(31)
2024年7月(31)
2024年6月(30)
2024年5月(31)
2024年4月(30)
2024年3月(31)
2024年2月(29)
2024年1月(31)
2023年12月(31)
2023年11月(30)
2023年10月(31)
2023年9月(30)
2023年8月(31)
2023年7月(31)
2023年6月(30)
2023年5月(31)
2023年4月(31)
2023年3月(36)
2023年2月(28)
2023年1月(26)
阅读排行榜
1. C#代码整洁之道读后总结与感想(599)
2. 选读SQL经典实例笔记01_检索和排序(369)
3. 读C#代码整洁之道笔记01_C#的编码标准和原则(311)
4. 读C#代码整洁之道笔记04_重构C#代码识别代码坏味道(309)
5. 学信息系统项目管理师第4版系列02_法律法规(268)
评论排行榜
1. 2023年1月随笔(11)
2. 2023年10月随笔之婚宴趣事多(2)
3. 读高性能MySQL(第4版)笔记12_查询性能优化(下)(2)
4. 读Java性能权威指南(第2版)笔记18_垃圾回收E(2)
推荐排行榜
1. 读高性能MySQL(第4版)笔记01_MySQL架构(上)(2)
2. 选读SQL经典实例笔记01_检索和排序(2)
3. 读软件设计的要素01概念(1)
4. 读AI未来进行式笔记01深度学习(1)
5. 读所罗门的密码笔记01_当人类遇见机器(1)
最新评论
1. Re:2023年10月随笔之婚宴趣事多
@gz4621 wondershare mindmaster...
--躺柒
2. Re:2023年10月随笔之婚宴趣事多
大神 思维导图用的什么软件制作的?
--gz4621
3. Re:读高性能MySQL(第4版)笔记12_查询性能优化(下)
@东围居士 建议读新版。...
--躺柒
4. Re:读高性能MySQL(第4版)笔记12_查询性能优化(下)
第4版相比第3版好像缩减了好多内容?楼主推荐第3版还是第4版
--东围居士
5. Re:读Java性能权威指南(第2版)笔记18_垃圾回收E
@屠炉 没有用第三方工具,手动的。 有几个平台直接支持markdown导入,只是要调整一下图片上传即可。...
--躺柒
点击右上角即可分享
支持DeepSeek的编程助手
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 【.NET】调用本地 Deepseek 模型
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库