Answers:
以我的经验,大多数正式的代码审查都很容易进行样式检查。即使您提供了要检查的事物的清单,眼睛也很容易开始溜溜。
我发现单元测试复习可以带来更多好处。与我合作过的大多数开发人员并不真正知道如何正确进行单元测试,一旦他们获得了“ Aha!”。此刻,他们的其余代码也开始改进。这是一个提示:如果您需要用户检查某些内容,则不是单元测试,如果您只是启动要在调试器中运行的内容,则不是单元测试。
它往往根据问题所在而有所不同。很多时候,这是一个简单的橡皮图章。“问题出在这里,在这里看这行,很明显出了问题,这是我修复的地方。” “是的,这很明显。继续检查一下。”
但是,当发生更多涉及的事情时,通常是这样的:
我更喜欢代码审查,开发人员与审查者坐在一起,并逐行解释代码。通常,开发人员在做出解释者可能还没有看到的解释时会遇到问题,这就是为什么这是我的偏爱。我也进行代码审查,将代码发送给我并自己阅读并发表评论,但我发现这些过程往往会花费更长的时间(我审查并起草评论,然后发送给阅读并使用WTF的开发人员,她是说并发电子邮件吗?我回去,我解释了,两三轮后我们聚在一起,我在屏幕上指出了我的意思,开发人员说:“哦,是的,现在我明白了。”)由于缺乏真正的讨论,所以效率较低还有,“您做错了。”
在代码审查中强制执行标准,但不要使标准成为唯一重点也很关键。
但是,只有在代码审阅者满意或经理(而非开发人员)推翻他或她(代码审阅者也犯错)之后,代码才被发送到生产环境。这很关键,或者代码审查只是一个官僚程序,没有附加值,除非代码审查者必须在最终代码提交之前批准最终代码。
首先,您需要拥有编码标准,而不仅仅是语法。当人们开始在您的公司工作时,他们必须在开始编码之前尽可能多地学习您公司的准则。如果在审查过程中发现各种违规行为,则很可能会:
该准则应该有意义,并且应该有适当的工具来查找违规并尽可能容易地进行重构。始终查看准则的目标和代码审查
我的目标是使代码尽可能统一,并发现可维护性和可读性方面的问题。第二个目标是使更多的人熟悉特定的软件。
我认为这些指导方针可能存在于:
有了适当的代码检查,就可以根据指南检查软件,并且: