我们这样写代码
去年二月初有幸成为一个优秀产品组里的一员,一年的工作中遇到各种问题,但是让我受益良多的还是关于如何编写优良的代码。说明如何写代码的文章很多,这里列出一些我在工作中遇到的情形,如有不当之处还请及时指正。
1. 让命名变得有意义。
在你的代码中使用有意义的名称去命名你的变量和方法等。我们应该通过名称就可以知道该变量或者方法的大致用途,优雅的代码应该是自解释的。一个好的名称要比一个泛泛的命名加上一堆注释行之有效。
2. 编写简洁可读性强的代码。
代码不仅仅是为了让程序能够运行起来,代码还得供人阅读和修改,因此代码的简洁性和可读性对于代码的维护甚为重要。用尽量少的代码做尽量多的事,这样可以降低出错的几率,也可以使代码更加优雅和简洁。一个方法只负责一件事,不要将多件事的不同逻辑放在一个方法内。让你的方法的行数控制在一屏之内,这样方便阅读。简洁优雅的代码需要我们不断的努力和尝试,直到可以随心所欲写出优雅的代码。
3. 为你的代码添加注释。
“靠!为什么这里要乘以0.75?”你在看代码的时候是不是会经常发生这种事?有没有过自己写的代码过了一段时间看不懂了?所以在你代码必要的地方加上注释!为了你和将来维护你代码的人,在必要的地方写上你为什么这么做、为什么要引入这个变量,从而让你的代码具有更佳的可读性和管理性。
4. 不要复制现有的代码。
在当前程序中复制、粘贴现有代码会导致一个代码片段在应用程序中多处出现。将来如果需要改变这些代码时,一旦忘记修改所有的,就会产生bug了。而且复制、粘贴现有的代码也会让文件变得混乱和臃肿,不利于文件的管理。
5. 只捕获你能处理的异常。
当我们在代码中使用try{...}catch(...Exception){...}捕获异常时,这就表明我们察觉到代码中包含着可能失败出错的代码,并且我们知道怎么处理该异常并恢复错误的逻辑。如果我们捕获了我们不能处理的异常,这就会导致逻辑不能恢复到正常状态,但是应用程序却还继续运行,这样就会导致应用程序存在安全隐患了,我想应该没有那个人愿意用一个看似正常但是却不能得到正确输出的应用程序。因此我们应该只捕获那些我们能够处理的异常,对于不能处理的应该让其顺着堆栈往上抛出直到遇到能处理该异常的逻辑代码。
6. 在性能出现问题时再优化代码。
对于一段已经运行稳定的代码,不要轻易地去改进优化,尤其在项目的前期。你的改动随时有可能会引入新的bug,除非性能提示你非得这么做,而性能测试一般的是在项目后期。
7. 删除不用的代码而不仅仅是注释。
删除掉那些不用的代码而不仅仅是注释掉它。注释是应该用来解释和说明代码的,其目的是为了让别人更加容易看懂代码,从而增强代码的可读性的。不要在你的程序中用它来注释那些不用的代码,取而代之的是你应该将这些不用的代码删掉,即使将来你重新需要用到这些代码,你也可以从版本控制软件里面得到这些代码。
7. 不要将多个类放到一个文件里面。
将类定义到单独的文件里面,通过文件名就可以知道是什么类了,而不需要打开文件或者使用全局搜索去查找类定义的位置。将类定义到单独的文件里还可以让你通过文件结构可以映射出程序的结构。