公司项目经理突然跑到我们几个研发这里,跟我们说项目代码要写注释。被他这么一说,我们一头雾水,我就跟项目经理说,项目代码里该写的注释都写了呀,结果项目经理说:“我看了你们写的代码,好多地方都没写注释,你们最好把注释补全了!”,并且还说了一大堆不写注释会导致的后果,听完,我们只能尴尬一笑,表示补就补一下吧!
项目经理之所以突然要我们补全项目代码里面的注释,我估计是老板听到了某些风声,怕我们公司某些程序员突然不干了,然后代码又没写注释,导致接手他项目的其他程序员看不懂他写的代码。所以,就让项目经理专门去看了下我们写的项目代码,如果没有写注释就让我们补全。
我觉得老板的初心是没错的,但是我们的项目经理不是干软件出身,所以,他对于我们写的代码里面没有写注释是有误解的。
他所谓的我们很多地方没有写注释,那是因为我们只对大部分的字段、函数写了注释,具体到每段逻辑,如果不是特别绕的话,我们基本不会特别在每个函数体内的某个代码段去写注释。所以,项目经理觉得我们应该在函数体内的逻辑里尽量都写上注释。
作为代码老司机的我,直接跟项目经理说了这么一段话:“如果代码不是特别绕的话,写注释的效果反而可能会影响未来看这段代码的人的思考!并且,几乎只有新手才会在函数体内频繁写注释!”
说完这句话,项目经理表示我在瞎说,还要我给他解释下我的逻辑。
我大概是这么告诉他的:“其实,只要在函数的头部写上注释就行了,如果一个人实在看不懂某个函数里面的代码,即使写上了注释,他依然还是看不懂,但是,如果他真看不懂某段代码,写上了注释反而会影响这个人的判断,因为,并不是所有程序员都能写好注释,大多是情况下在代码段里面写的注释,起到的正面作用远远小于其起到的负面作用!”
其实,我的意思很简单,我想表达两点意思,第一个就是很多程序员并不会写注释,而一旦这个程序员注释写的不好,会导致后面看的人先入为主,影响其判断。
同为程序员,我不知道大家跟我的感受是否一样,那就是经常会被别人写的注释误导,尽管是自己写的注释,也是这样的。
所以,我写代码,基本上就只对字段名和函数名写注释,原因在于,很多字段起名使用拼音觉得Low,所以经常用翻译软件翻译将中文翻译成英文,但是,过段时间就不认识了,所以写上注释,方便快速知道其意思。
函数差不多也是这个考虑,像函数名、入参的参数名、返回值的名称,写上注释一来是时间长了真不知道是什么意思,二来也能通过注释快速知道其含义。
其实,就跟我们调用很多编程语言自带的函数一样,鼠标悬浮上去,就会有函数的具体作用以及每个函数入参和出参的具体含义。
但是,这种说法显然没有说服我们的项目经理,所以,我们只能找个时间去将代码里面的注释给补齐。
结语
后来我们项目经理私下跟我说,让我们写注释只是因为老板收到了风声,说我们部门有些人私下跟同事说不想干了,结果这件事情被老板知道了,所以老板才让研发部门补全注释,以防到时候出什么乱子,影响工作效率。
但是,我觉得即使是这样,临时让人补全注释,其实也未必能达到目的,因为只要有心之人,故意在注释上动手脚,后面给公司带来的麻烦更大。
您觉得呢?