背景
开发了一个feature,让大家一起看看我的代码。
指出的问题
方法定义上
当时的业务场景需要“判断10分钟内是操作是否超过3次”,而我的方法名便叫做moreThan3TimesXXX()
,有同事告诉我,方法设计时需要考虑业务将来的变化,如果业务变为“判断10分钟内操作超过5次呢”,按照这样写,这个方法就不能用了。
做法是可以把可能变的提成参数。
验证码过期
我这里用了验证码,验证码的作用是限制单次提交,验证码在Redis中存放,这里只对验证码做了10分钟的失效,并没有在对验证码做了对比正确后,将验证码失效,这里就会有问题,如果一个人想要用非法手段提交,只要记住正确正确的验证码,那么接下来的10分钟,对他来说,便还是没有验证码。
if逻辑有点绕
用if时,需要注意表示比较的变量命名要尽量起的直观,否则你的if逻辑便不好理解了。
并且,如果if超过3个,就不要用if了。
总结
代码评审对自己写代码水平的提高很有效,能及时知道自己写的不好的地方,加以改正。