从真正开始在真实项目中coding到现在也有近7年的时间了,慢慢发现,良好的代码风格和重构代码的习惯会让代码的质量和可读性大大提升。
良好的代码风格包括:
- 命名规则(类、方法、字段、属性、参数……)
- 代码格式(空格、空行、注释……)
- 简短的方法(一个方法只做一件事、相同的抽象层次、不要超过特定行数)
- 避免重复代码
- 方法的圈复杂度不要过高
- ……
以前很少能够读到大牛们写的代码,更多的时候是在意淫大牛们的代码风格。而今,随着开源项目越来越多,在GitHub上可以很方便的搜索查看别人的代码,也可以根据自己的实际能力参与或创建开源项目。
多看、多谢方能体会到什么叫做优秀的代码,也才能够让自己写代码的水平逐步提高。
其实代码重构也并不是什么高深的东西,代码重构的目的也就是在实现功能需求的前提下提高代码的可读性、可维护性、帮助提前发现代码的内在缺陷。
举个简单的例子:
在coding的过程中,有些时候,为了快速实现功能需求,我们往往会采取复制粘贴大法来应对功能相似的方法,这种方法看似有效,但是后患无穷,随着项目越来越大,逻辑越来越复杂,代码的可维护性就会变得越来越差。
吃货就以吃为例子,有三个方法:
吃饭()
{
……
}
吃零食()
{
……
}
吃水果()
{
……
}
如果吃的逻辑发生变化,这三个方法很有可能都要改动。因此,在最开始设计的时候,就应该尽可能将这三个方法简化为同一个方法。
有关命名的问题,其实这是一个很严肃的问题,因为程序猿在写代码时很有可能是根据自己的心情来给类、字段、属性、方法等命名的,因此,在项目设计阶段,就应该有一套命名规则,包括单词的使用、大小写、字符的使用等等。
关于代码重构,其实有很多内容可以说,时间原因,这里暂且打住。分享一个代码写的很规范的repo(https://github.com/mongodb/mongo-csharp-driver),个人感觉代码非常好,依然有很多地方值得我去学习、借鉴。
另外,除了Visual Studio本身很丰富的重构功能之外,ReSharper这一个插件也很值得推荐使用,不仅可以监测代码质量,而且重构代码的能力非常强。