Questions tagged «code-reviews»

该标签用于有关代码审查和代码演练的问题。有关现有有效代码的评论,请访问http://codereview.stackexchange.com


8
如何使开发人员及时进行代码审查
我工作的公司要求所有代码在提交之前都要经过其他开发人员的审查。我们团队的成员经常感到沮丧,因为其他开发人员太忙于编写代码以致无法进行审查,尤其是如果审查时间很长的话。您如何激励其他开发人员及时进行代码审查? (我们使用git-svn,因此我们可以在等待审查的同时继续编码。但是,当我不得不等待很长时间才能提交代码时,我仍然感到沮丧。)

1
在对较早的提交进行修复时,我应该重新设置基础还是添加单独的修复提交?
软件开发中的一种常见情况是代码检查其他人的代码。执行此操作的常用工具是打开请求请求。 我的问题是,当在审查中发现问题时,是否应进行更改 分开提交(新提交) 还是应该修改现有的提交(假设没有人从您先前的提交中分支出来,因为从共享分支重写历史记录是个坏消息)。 对于第一种情况,尽管它会在提交历史记录中增加一些噪音,但是很容易跟踪增量更改。第二种选择具有相反的优点和缺点。

3
强制性代码审查的良好指南和做法[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 6年前关闭。 我们正在尝试对每次提交进行强制性代码审查-对于几个冲刺,没有任何东西被未经过至少1个人(而不是作者)验证的主人掌握。我们从开发人员和管理层那里都买进了(这是一个令人惊奇的情况),我们希望获得一些众所周知的好处: 明显减少错误 更加了解项目周围发生的变化 “我知道有人会看这个的,所以我不会偷懒” /反牛仔效应 增加项目内/项目间的一致性 但是我们正在引入一种已知的降低速度的方法,如果做错了,可能会在提交管道中创建一个愚蠢的官僚主义步骤,除了占用时间外什么也不做。我担心的事情: 评论只涉及尼特采摘 (大作)人们在两行提交审查中提出了巨大的架构问题。 我不想在其他事情上偏answers答案。 虽然我们都是有理智的人,并且会进行大量的自我分析,但我们可以肯定地使用一些赢得战争的见识,以了解我们应该在审查会议中尝试完成哪些事情才能真正使评论对我们有用。您发现可以使用的一些准则和政策是什么?

10
每个SQL语句都必须由DBA审查-常见吗?
我的意思是一切,而不仅仅是架构更改。即使对主键进行简单的SELECT也无法投入生产,即使它已经由其他开发人员进行了代码审查(在上下文中),也没有DBA审查每条语句,从代码中提取出来并与EXPLAIN输出一起提交,详细信息它多久被调用一次,等等,等等。 如果您曾经在这样的环境中工作,您是否发现它是净收益或拖累了开发?作为从事关系数据库工作多年的人,我发现“开发人员不能被信任使用数据库”的态度毫无根据,我很好奇这种情况的普遍性。对于它的价值,这仅是用于Web开发,不是关键。
11 code-reviews  dba 

4
如何记录和教导其他人“无法识别的优化”计算密集型代码?
有时候,有1%的代码需要足够的计算强度,因此需要最重的底层优化。通常,示例是视频处理,图像处理和各种信号处理。 我们的目标是记录文档并教授优化技术,以使代码不会变得难以维护,并易于被新的开发人员删除。(*) (*)尽管在某些不可预见的未来CPU中特定优化可能完全没有用,所以无论如何都会删除代码。 考虑到软件产品(商业或开放源代码)通过拥有最快的代码并利用最新的CPU架构来保持竞争优势,软件作者通常需要调整其代码以使其运行得更快,同时为特定产品获得相同的输出。任务,允许少量舍入错误。 通常,软件编写者可以保留函数的多个版本,作为每次进行的优化/算法重写的文档。一个人如何使这些版本可供其他人学习其优化技术? 有关: 干净可读的代码与快速难以读取的代码。什么时候越界?

5
如何更好地检查代码?
首先,我坚信代码审查过程,始终希望其他人来审查我的代码。我的问题确实围绕着如何在为他人执行代码审查方面做得更好? 我知道要执行代码审查,您需要了解现有代码的工作方式以及本地标准是什么,我都非常了解这两个方面。我仍然觉得自己从来没有对其他人做过足够好的代码审查。我也知道某些人似乎比其他人做得更好,所以我想知道对于那些优秀的代码审阅者来说,您使用什么技术?

4
如何包装服务,使其更简单
我们依赖于第三方服务,该服务公开了一个巨大的接口,我们只需要像3种方法。此外,界面经常更改... 我决定将接口包装在我们项目的一个类中,只公开我们需要的方法。 但是我不确定如何处理返回值...接口返回类型为的对象Storage。我们内部有一个类型StorageModel,它是a的内部表示形式Storage。 您将在映射器中返回什么:Storage或StorageModel?我们有一个DataService StorageService,它获得了注入的包装的依赖关系。 目前,我基本上是这样的: public class StorageService { private readonly IExternalStorageWrapper externalStorageWrapper; public StorageService(IExternalStorageWrapper externalStorageWrapper) { this.externalStorageWrapper = externalStorageWrapper; } public StorageModel GetStorage(int storageId) { return this.externalStorageWrapper.GetStorage(storageId).ConvertToStorageModel(); } } public class ExternalStorageWrapper : IExternalStorageWrapper { public Storage GetStorage(int storageId) { using(var ext = new ExternalStorage()) { return ext.GetStorage(storageId); …

3
在代码审查过程之后如何提供反馈
我目前正在审查刚刚加入我的团队的一些初级开发人员的代码,我想知道应该如何提供此审查的结果: 我应该自己修复代码吗? 我是否应该向他们提供有关审核过程的反馈,并让他们根据我的指示进行修复?如果是这样,我该如何提供反馈,是否填写某些模板文档并将其发送给他们,或者有一些软件可以帮助我在代码文件中标记出有问题的地方,以便以后进行检查?(我正在使用Visual Studio)。 在我完成对代码的审查并完成修复之后,过去的一段时间已经过去,我过去审查过的代码的某些部分也发生了变化,如何进行重新审查?我应该重新检查所有代码吗?还是只检查已更改的零件?如果是这样,我如何跟踪已更改的部分,从而避免重复检查代码?

4
重做一个返回代表许多不同状态的整数代码的函数
我继承了一些糟糕的代码,其中包括以下简短示例。 这个特殊的反模式有名称吗? 有哪些重构建议? // 0=Need to log in / present username and password // 2=Already logged in // 3=Inactive User found // 4=Valid User found-establish their session // 5=Valid User found with password change needed-establish their session // 6=Invalid User based on app login // 7=Invalid User based on network …


6
当您不熟悉语言时,如何评估代码质量?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 4年前关闭。 作为一个假设,如果我在.NET中工作时要面试某人以担任新的PHP开发人员职位,那么我如何确定他们提供给我的代码示例是否高效且质量良好? 换句话说,如果您不熟悉该语言,评估程序员代码的最佳方法是什么?

3
开源项目中是否有代码审查?如果是这样,使用什么工具来做到这一点?
我知道在商业开发中大力推动代码审查。但是,代码审查是在开源软件中使用还是基于信任?如果是这样,那么他们的表现如何?[是否是延迟提交,即“预提交环境”,是否存在允许将该补丁发送给另一个开发者的工具]? 是否有任何使用代码审查的项目? 据我了解,Linux内核主要基于提交者的信任。MySQL是基于主要作者的认可和对性能的影响。

5
应该在单元测试之前或之后执行代码审查
我正在与我的同事讨论何时执行代码审查-在单元测试之前或之后。最佳做法是什么? 我们可能需要考虑的一些因素(可能还有更多): 代码更改的大小-较大的更改意味着代码审查将导致更多更改。如果这些更改要大得多(如果UT在代码审查之前),则需要再次重复大多数UT。 进行单元测试所需的时间 是新功能还是错误修复

3
准备好以开发人员的身份进行代码审查了吗?
我在这里寻找一些想法。 我阅读了这篇文章,《如何进行代码审查和代码审查》有什么好处?这些信息非常有用,但是我仍然需要在下面的问题上更加清楚。 我的问题是 作为目标开发人员,您能否建议开发人员在审查其代码之前可以采用的一些最佳做法。 目前,我练习以下方法 PPT逻辑流程 详细评论。 问题:即使我已经实施了上述做法,但它们对审核没有帮助。我面临的问题是,当引用某些逻辑时,我一直在寻找实现和流程,并且在过程中浪费了太多时间,并且引起了人们的注意。 我认为很多开发人员也会经历我正在经历的事情。
10 c#  code-reviews 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.