我正在努力保持积极向上的态度,并将质量软件的目标作为我的目标;然而,其他人正在批评我的代码。我该如何做好充分的准备,并充分利用可能很困难的代码审查?有没有办法为粗略的代码审查做准备?
回答
编程风格就像女朋友(男朋友)。每个人都有自己的,对他(她)来说,她(他)比对方好。
因此,不要准备防御性的批评。获取它,并从中吸取教训。即使是最明显的错误的人也可以有好的想法(是的,有时候你必须调用破损的时钟效应:破损的时钟一天两次)。另外,我的经验告诉我,在编程方面没有好的解决方案。有妥协。你的解决方案可能很好,他的解决方案也可能很好。这很少像你的好,他是错的。也许这两种解决方案中的一种对于这种设计来说是笨拙的,并且最终如果你发现这种情况发生的正当理由,那么你可以指出它。
我不确定是否有办法让它免受伤害。重要的是要继续学习。
倾听他们的话,并从中学习。确保写下他们说你在代码中出现了错误,并确保从那时起,在编码时总是使用它,这样你的代码将最终得到改善,并且你将得到一个没有发现缺陷的点或者至少没有主要的。
就像斯特凡诺说的,不要防守,要积极主动。在审查之前检查你的代码,看看你能否找到你可以做得更好的事情。记下你知道自己可以做得更好的事情,并将其纳入评论。写下你的评论者提出的一切,以便你可以从评论中学习。
也准备好解释你为什么按照你的方式做了某些事情。
我建议的第一件事就是将对代码的批评与人批评为非人性化。你的工作并没有将你定义为一个人,你的天赋能力并不是天生的,他们可以学习。我认为你也需要少备而不是多备。查看评论是什么。这是试图让您的代码更高质量。这次会议旨在提高你的技能,让你更好地工作。为任何对抗性会议做准备可能会让人感到困惑和灰心。有一条原则规定:“任何有缺陷的组织都会找到n = 1个替罪羊来指责他们的问题”。有时候工作环境确实是有毒的。如果是这样的话,我会准备好一点点的阅读,让你平静下来,让你开心。处理代码审查之外的有毒环境。
我可以看到,这个问题已经做了相当多的编辑,正如hacklord最初制定的那样:)现在这个问题变得更有意义,但与编程无关。获得代表回答/询问这类问题的人们......让我们将其设为社区维基,或者立即删除它。
哦,我的回答是,在你进入像这样的紧张局势之前,睡个好觉。可以帮助你保持冷静,避免从代码审查:)越来越尴尬
建议:
- 确认并套用批评(重复自己的话),以确保你了解它,你的评论家知道他们已经被听到。
- 有礼貌地坚持认为批评是有建设性的:批评者必须说如何做得更好。
- 请求允许在计算机的麦克风上录制会话。您可以在8000Hz获得很多声音;这样您就可以专注于与人交流,并在稍后获取详细信息。
- 安排您的一天,以便在您回顾后立即离开建筑物并喝一小时咖啡。如果可以的话,结识一个值得信赖的朋友
彻底的代码审查是从来没有的乐趣,但你得到更多的实践,出血就会停止更快...
我尽量采用这些观点:
尽管批评可能看起来很苛刻,至少你有一些人花时间在看你的代码,并且很有可能你会以不同的方式查看你的代码,因为它会大声捍卫或解释你的设计决策。如果我用我的代码花费太多时间在脑海中,我不知道它是否有意义 - 它可能有用,但是从现在起9个月后有人能够支持它吗?他们能看看它,并且明白我的意图吗?
当我回到去年的项目时,我发现在很多方面都很糟糕。通过代码审查,至少我早日知道,并有机会纠正至少一些。
此外,我发现如果我记住,我将通过代码审查,我更符合命名约定和编码风格。尴尬,因为我拼凑在一起的废话足以促使我思考“如果我在博客,文章或书中阅读此代码,我是否会理解它,并相信它的写作能力?”糟糕的代码审查的羞辱是值得的,因为它会促使你生成更好的代码。
准备代码审查的一部分是编写更好的代码。知道某人正在查看你正在处理的内容并批评它,这有助于你写出更好的代码。当你知道你将要与你的同事一起审查这个“呃,但它有用”的借口并不适用于你自己。
使用您从一个代码审查中学到的知识,在下次编写更好的代码。努力做得更好。
- 1. 有没有办法做一个“无法检测的,iframe代码”
- 2. 有没有办法做一个“setRotation()”方法或代码?
- 3. 有没有办法隐藏JavaScript代码?
- 4. 有没有办法从代码
- 5. 有没有办法在代码
- 6. 代码审查工具,用于准备大量更改为代码库
- 7. 有没有办法检查代码的清单许可?
- 8. 有没有办法从TFS中的代码审查请求中查看Windows窗体应用程序的GUI?
- 9. 有没有办法挂钩VUE组件准备(初始化)
- 10. 有没有办法强制Gerrit将分支中的所有提交推送到代码审查?
- 11. 有没有办法检查代码是否在TransactionScope中执行?
- 12. 有没有办法使用PSFTP检查返回代码?
- 13. 有没有办法查看Android Google服务源代码?
- 14. 有没有办法省略掉参数?
- 15. 有没有办法只为非库代码启用strictNullChecks?
- 16. 有没有办法创建一个代码为
- 17. 有没有办法将这个JavaScript代码转换为jQuery?
- 18. 有没有办法将文本转换为代码?
- 19. Rails3 - 有没有办法做NOTLIKE?
- 20. 有没有办法在cuBLAS中做“saypx”?
- 21. 有没有办法做到这一点?
- 22. e.preventDefault - 有没有办法做到默认?
- 23. 有没有办法用WebClient做PUT?
- 24. 有没有办法做或jQuery选择
- 25. 有没有办法用HABTM做counter_cache?
- 26. 有没有办法强制Checkstyle忽略源代码中的特定警告?
- 27. 有没有办法检查iCloud备份是否为iOS设备设置?
- 28. 有没有办法备份我的码头环境
- 29. 有没有办法在jooq中做一个反向的“代码生成”?
- 30. 有没有办法做空安全的GORM动态查找器?
我大量编辑这篇文章。我的道歉,但格式化,清晰度和目的确实有助于质量问题。 – ojblass 2009-04-25 23:00:42
我有点儿在问帮助和问别人,但它确定 – H4cKL0rD 2009-04-25 23:03:18
根据你的个人资料,我没有意识到你是15岁......这完全改变了这个问题。你从你的代码赚钱了吗?人们在什么前提下批评你的代码? – ojblass 2009-04-25 23:04:35