读C#代码整洁之道笔记05_使用工具改善代码和单元测试

 

1. 高品质的代码

1.1. 性能(Performance)

1.1.1. 只执行需要的操作,而且执行迅速

1.1.2. 不会使系统陷入停顿

1.2. 可用性(Availability)

1.2.1. 持续在所需的性能水平上保持可用

1.2.2. Topic1

1.3. 安全性(Security)

1.3.1. 正确验证输入

1.3.2. 防止无效的数据格式或超范围的无效数据

1.3.3. 防止恶意攻击代码

1.3.4. 身份验证

1.3.5. 鉴权操作

1.3.6. 具备容错性

1.4. 可伸缩性(Scalability)

1.4.1. 安全地处理指数级增长的用户数目,而不会令系统停顿

1.5. 可维护性(Maintainability)

1.5.1. 修复缺陷并添加新功能的难易程度

1.5.2. 低耦合高内聚

1.6. 可访问性(Accessibility)

1.6.1. 能力受限的成员也能够根据自己的需要轻松地修改和使用软件

1.6.2. 高对比度的用户界面

1.6.3. 针对阅读困难者和盲人添加的旁白

1.7. 可部署性(Deployability)

1.7.1. 针对软件的用户

1.7.1.1. 独立用户

1.7.1.2. 远程访问的用户

1.7.1.3. 局域网用户

1.7.2. 软件都应当易于部署而不会出现任何问题

1.8. 可扩展性(Extensibility)

1.8.1. 添加新功能以进行扩展的容易程度

1.9. 简记为PASSMADE

2. 代码度量

2.1. 关注软件的复杂性与可维护性

2.2. 维护性指标

2.2.1. 应用程序生命周期管理的重要组成部分

2.2.1.1. (Application Lifecycle Management,ALM)

2.2.2. 20及以上的分数颜色级别为绿色

2.2.2.1. 良好的维护性

2.2.3. 10分到19分的分数颜色级别为黄色

2.2.3.1. 中等维护性

2.2.4. 小于10分的分数颜色级别为红色

2.2.4.1. 难以维护

2.3. 圈复杂度

2.3.1. 路径越多,软件就越复杂

2.4. 继承深度

2.4.1. 相互继承类的数量的度量值

2.4.2. 理想的继承深度为1

2.5. 类耦合度

2.5.1. 类的代码耦合度决定了类之间的耦合级别

2.5.2. 基于接口编程

2.6. 面向对象编程编程范式的影响

2.6.1. (Object-Oriented Programming,OOP)

2.7. 代码行数

2.7.1. 源代码行(包括空行)的完整统计数目

2.8. 可执行代码行数

2.8.1. 可执行代码中操作的数量

2.9. Visual Studio 自带

3. 工具

3.1. 使用快速操作

3.1.1. VS自带

3.2. JetBrains dotTrace

3.3. JetBrains ReSharper

3.4. JetBrains dotPeek

3.4.1. 免费

3.5. JetBrains dotCover

3.6. JetBrains dotMemory

3.7. JetBrains 全家桶

3.8. Telerik JustDecompile

3.8.1. 开源

4. 单元测试

4.1. TDD绝对是提升程序能力的一个必要之选

4.1.1. Test-Driven Development

4.2. 行为驱动开发(Behavior-Driven Development,BDD)

4.2.1. BDD是由TDD演进而来的一种软件开发方法。

4.3. 软件越关键,就越需要重视单元测试技术(例如TDD和BDD)的使用

4.4. 在代码开发阶段,程序员应该始终测试自己的代码

4.5. 只有在代码完成并准备进入产品环境的前提下,“程序员永远不应该测试自己的代码”才是正确的

4.6. 正确的规划和设计实质上会加快编码速度,尤其在考虑维护和扩展的情况下

4.6.1. 凡事预则立,不预则废。

4.6.2. 越早考虑谋划、考虑谋划越全面,后期应对变化越从容

4.7. 单元测试不应当依赖在它之前运行的其他测试

4.8. 单元测试最好在毫秒时间内完成

5. 无法容忍缺陷的软件

5.1. 处理私人和商业投资的金融系统

5.2. 医疗设备

5.3. 交通管理和导航系统的运输信号系统

5.4. 空间飞行系统

5.5. 武器系统

6. 删除冗余

6.1. 无用代码

6.1.1. 冗余又没有调用者的代码

6.2. “噪声”注释

6.2.1. 程序员都会为这些注释所扰

6.3. 冗余测试

7. 测试工具

7.1. MSTest

7.2. NUnit

7.3. 测试框架

7.3.1. NUnit比MSTest提供了更加细粒度的测试方法和更好的性能

7.4. Moq

7.5. Rhino Mocks

7.6. 测试替身框架

7.6.1. Moq比Rhion Mock更加易于学习和使用

7.7. SpecFlow

7.7.1. BDD框架

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
C#中,可以使用性能分析工具来帮助我们找出代码中的性能瓶颈,并进行优化。下面是一些常用的性能分析工具使用方法: 1. Visual Studio性能分析器:Visual Studio自带了一个强大的性能分析器,可以帮助我们分析和优化C#代码的性能。使用方法如下: - 打开要进行性能分析的项目。 - 在“调试”菜单中选择“性能分析器”。 - 选择要进行性能分析的启动项(例如,选择“CPU性能分析”)。 - 点击“开始分析”按钮,运行代码并进行性能分析。 - 分析结果将显示在性能分析器窗口中,可以查看函数调用图、CPU使用情况、内存使用情况等信息,从而找出性能瓶颈。 2. JetBrains dotTrace:dotTrace是一款功能强大的性能分析工具,可以帮助我们找出C#代码中的性能问题。使用方法如下: - 安装并打开dotTrace。 - 选择要进行性能分析的应用程序或进程。 - 点击“开始分析”按钮,运行代码并进行性能分析。 - 分析结果将显示在dotTrace窗口中,可以查看函数调用图、CPU使用情况、内存使用情况等信息,从而找出性能瓶颈。 3. PerfView:PerfView是一个免费的性能分析工具,由微软提供。使用方法如下: - 下载并打开PerfView。 - 选择要进行性能分析的应用程序或进程。 - 点击“Collect”按钮,运行代码并进行性能分析。 - 分析结果将显示在PerfView窗口中,可以查看函数调用图、CPU使用情况、内存使用情况等信息,从而找出性能瓶颈。 使用性能分析工具进行优化时,可以关注以下几个方面: - CPU使用情况:查看代码中哪些函数占用了大量的CPU时间,是否存在性能瓶颈。 - 内存使用情况:查看代码中是否存在内存泄漏或者频繁的垃圾回收。 - 函数调用图:查看函数之间的调用关系,找出函数调用次数较多或者耗时较长的地方。 通过性能分析工具的帮助,我们可以更加直观地了解代码的性能问题,并进行有针对性的优化。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值