为什么不该使用commented out code 注解代码?
首先什么是commented out code,其实就是就是被注解掉的代码,直观来看例子
this.test = function(req, res, next) { // if (foo) { // return ‘1’; // } else if (bar) { // return ‘2’; // } return 3; };
现在一些代码检测器上也会标注出 commented out code,这是需要考虑去除掉的。
那么commented out code有什么问题呢?
1.影响git代码管理。
上面的代码在 git diff 指令会产生如下
而正确的应该是
2.造成误解
这也是很重要的原因,假设你刚加入团队,或者是每天需要review别人的代码的开发人员来说,当你看到被注解对的代码,第一感觉是什么,
我自己会停住,并且想想为什么前一位开发者会将这段代码注解呢?是不是非常重要呢?你可能就停止了思绪,可能就想找前一位开发者讨论下。
可每次询问后的结果往往都是“奥,忘记删掉了”。而造成不必要的误解,也浪费了其他开发人员的时间。
3.隐藏了重要的代码
比如如下例子
// dozens // of // lines // of // commented // code someImportantCode() // dozens // of // more // lines // of // commented // code
开发者快速浏览代码的时候,是不是很容易忽略someImportantCode()?
4.out of date
现在都是git进行版本控制,为什么不利用好git的优点,而是使用注解代码记录过去的代码呢?而且,
在团队合作中写注解时给其他成员看,而不是给自己看