今天又遇到同事在对历史悠久的代码进行bug排查,结果看到了一些类似***>2的逻辑判断,当场也就懵了,完全不知道它代表啥业务情形!群里面几十个同事包括不少老员工都在,可是就不能给于明确的解答。
当然针对这种情况,可以使用VCSLog和VCSAnnotate来对代码的log进行追溯,然后看下是哪个分支合并的,然后继续往前查,也许你找到了源头,并看到注释说是哪个bug或者哪个需求所以加了这段逻辑,但如果你找不到呢?
这里涉及到两个严重的问题:
1、我见过不少被称为牛人的人,他们能实现功能解决问题,但是部分人还是不懂代码的坏味道这回事,总的来说,还是修养不够!
如果你习惯把整数或者字符串等直接hardcode而不是用一个专门的resource文件进行变量声明和统一管理重用等,你还只是在写你自己的代码,不是在写团队的代码。
往往来说,团队能做好一个项目可能不一定需要很牛的人,但需要有组织有筹谋有积累的项目过程。
2、注意需求、bugs做好管理,相关代码修复或者实现要详细批注!
对代码提交进行格式限制管理等手段,让大家不要随意提交代码
总的来说,对于hardcode和随意就commit代码(甚至一个字不翘就commit出去)的,我觉得都是挺恶心的。