当我年轻而愚蠢的时候,我的第一个工作就是建立一个解析器,将长文件中的某些字段拉出来,这些文件被转储到无格式文本中.我知道足够使用某种形式的正则表达式,但还不足以完成正则表达式的正则表达式.几天后,我完成了任务,但在同行评审中,我被压得知道我本可以做得更好,我制作的是垃圾.我学会了如何进行词法解析只是为了证明我不是白痴,但我只想说同行评审过程很糟糕.我不需要一个资深人士为我的失败而跳舞,我需要一位导师,每次我做同行评审时我都会提醒自己.
当我们检查门口的自负时,我喜欢同行评审.(这包括我的!)这个世界上有一段有限的时间,只有你可以学习和做的那么多.通过良好的同行评审,您可以扩展您的知识,并在更短的时间内完成更多工作.当事情降级为过度肛门语法检查时出现问题.
因此,我有一些规则.我不会同意审查任何可以自动化的内容.运行拼写检查,并编码美化.如果您有类似FXCop的东西可以使用,可以运行它,按照它说的去做,或者为什么不这样做有一个很好的理由.然后我们可以看看代码是如何组合在一起的,它是如何运作的以及我们可以做些什么来改进代码.通过这种方式,您可以获得关于如何解决问题的不同观点以及为什么有人这样想.有时候另一种方式并不是真的更好,有时候新的解决方案非常棒,你可以用它来为你的其他人编程生活.一旦审查完成,就是这样,我不是以它为例来反对你.你可以从中学到它的意义.我不会被恐惧或威胁所控制,你是一个聪明的人,我会让你展示它.
当我年轻而愚蠢的时候,我的第一个工作就是建立一个解析器,将长文件中的某些字段拉出来,这些文件被转储到无格式文本中.我知道足够使用某种形式的正则表达式,但还不足以完成正则表达式的正则表达式.几天后,我完成了任务,但在同行评审中,我被压得知道我本可以做得更好,我制作的是垃圾.我学会了如何进行词法解析只是为了证明我不是白痴,但我只想说同行评审过程很糟糕.我不需要一个资深人士为我的失败而跳舞,我需要一位导师,每次我做同行评审时我都会提醒自己.
当我们检查门口的自负时,我喜欢同行评审.(这包括我的!)这个世界上有一段有限的时间,只有你可以学习和做的那么多.通过良好的同行评审,您可以扩展您的知识,并在更短的时间内完成更多工作.当事情降级为过度肛门语法检查时出现问题.
因此,我有一些规则.我不会同意审查任何可以自动化的内容.运行拼写检查,并编码美化.如果您有类似FXCop的东西可以使用,可以运行它,按照它说的去做,或者为什么不这样做有一个很好的理由.然后我们可以看看代码是如何组合在一起的,它是如何运作的以及我们可以做些什么来改进代码.通过这种方式,您可以获得关于如何解决问题的不同观点以及为什么有人这样想.有时候另一种方式并不是真的更好,有时候新的解决方案非常棒,你可以用它来为你的其他人编程生活.一旦审查完成,就是这样,我不是以它为例来反对你.你可以从中学到它的意义.我不会被恐惧或威胁所控制,你是一个聪明的人,我会让你展示它.
我们试图确保没有经过至少另一双眼睛就没有代码投入生产.
通常,这意味着我们进行代码审查.我们试图让团队成为习惯,审核是编写代码的固有部分.你写它,然后问别人的意见.
此外,在我们有足够人员可用的项目中(当任务大小合适时),我们尝试配对编程.
我必须说我们确实看到了这方面的优势.首先,这是指导团队中初级开发人员的好方法 - 当您查看他们的代码时,您可以向他们展示可以做得更好的事情,并且在与他们配对时,他们可以看到更好的做事方式,经验丰富的人想想甚至如何更好地使用IDE.
此外,它使整个团队保持同步,只要知道代码的外观.
而且,它只是增加了每个人的快乐和个人发展 - 一个能够谈论和推理代码的团队是一个更好的团队,一个不断学习和分享的团队.
有些事需要注意:
确保老年人在配对时让青少年也开始编程
不要让人们配对小任务,通常浪费时间
观察对是如何相处的(不要强迫一对)
记得时不时地重新调整对子
不要让评论蜜蜂成为自我匹配 - 不要让人们粉碎别人