1.高品质的代码

1.1.性能(Performance)

1.2.可用性(Availability)

1.3.安全性(Security)

1.4.可伸缩性(Scalability)

1.5.可维护性(Maintainability)

1.6.可访问性(Accessibility)

1.7.可部署性(Deployability)

1.8.可扩展性(Extensibility)

1.9.简记为PASSMADE

2.代码度量

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

2.2.维护性指标

2.3.圈复杂度

2.4.继承深度

2.5.类耦合度

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

2.7.代码行数

2.8.可执行代码行数

2.9.Visual Studio 自带

3.工具

3.1.使用快速操作

3.2.JetBrains dotTrace

3.3.JetBrains ReSharper

3.4.JetBrains dotPeek

3.5.JetBrains dotCover

3.6.JetBrains dotMemory

3.7.JetBrains 全家桶

3.8.Telerik JustDecompile

4.单元测试

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

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

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

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

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

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

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

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

5.无法容忍缺陷的软件

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

5.2.医疗设备

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

5.4.空间飞行系统

5.5.武器系统

6.删除冗余

6.1.无用代码

6.2.“噪声”注释

6.3.冗余测试

7.测试工具

7.1.MSTest

7.2.NUnit

7.3.测试框架

7.4.Moq

7.5.Rhino Mocks

7.6.测试替身框架

7.7.SpecFlow

推荐内容