我应该使用Resharper来整理其他人的代码吗?

Mod*_*dan 11 .net resharper maintainability refactoring

我在工作中使用Resharper.我的一些同事没有.

当我打开一些已写入的代码而不是其他代码时,我的屏幕上的橙色数量就会立即显而易见.

我不确定的是,我应该在多大程度上自由地整理那些在不知不觉中留下的混乱.对于我所看到的大部分内容,它是草率但无害的,如果我从未使用过Resharper,就不会真的跳出来.

我想我大致看到了我的选择

1)源代码更改的历史记录对于维护至关重要.尽可能少地改变,或者下一个人不希望弄清楚改变了什么.谁关心无法访问的代码,无论如何都不必要地使用.ToString()等.

2)更改无意义的东西,如包括,修复方法文档注释和类似的东西.写它的人喜欢他的代码看起来像这样,所以把它留在他不会抱怨的状态,但摆脱一些不必要的橙色

3)橙色只是红色但更轻.F12然后Alt + Enter直到绿色.

4)忘记橙色,看看怪物700线功能.这是什么1997年?是时候忙碌......如果你有时间,请把你的同事介绍给我们的好朋友和导师福勒先生.

我倾向于在选项之间进行过滤,具体取决于我有多少时间,我现在负责代码的程度,以及代码看起来有多复杂(这通常可以让我选择1或4).

看起来四个选项中的一个应该是我正在努力的那个,但我不知道哪一个

STW*_*STW 17

"Leave the campsite cleaner than you found it."
Run Code Online (Sandbox Code Playgroud)

这是boyscout的原则.如果它是"他们的"代码并且他们维护它然后引入一些清理 - 改变不应该冒犯它们,但是走得太远可能看起来很粗鲁或者你可能有效地获得了代码的所有权.

  • 我最近听到一位开发人员说:"我真的无法帮助你.自从我上次查看它以来,代码已经完全改变了".我认为谁拥有所有权是一个非常好的观点 (3认同)
  • 代码更改......处理它.否则你不是一个开发人员,如果你不能跳进去处理变化......如果那个代码变得更好,更容易阅读,或者那么你应该邀请这个变化,而不是谴责它.为什么在不破坏任何东西的情况下重新构造那只小狗时,为什么要阅读100行方法呢?应该不会受到质疑. (2认同)

Jer*_*ein 14

您的团队应该就标准达成一致.如果其他人使用其他工具,您可能会发现自己处于无意的编辑战争中.

但如果你们都同意,那么是的.随时清理代码.


Dav*_*ave 6

在更改任何实际逻辑之前,我会进行"重新格式化"检查,这样您就可以看到发生了哪些变化.

  • 这对于差异很好,但是当你去做一个SVN Blame看看谁做了什么改变时,你的名字将无处不在. (4认同)

wom*_*omp 5

不必要的重构只是 - 不必要的.它使存储库历史记录日志变得混乱,您可以引入错误.

如果"无意义"的东西(文档,注释等)应该以某种方式格式化,并且它不符合您的开发标准,那么我会尽可能少地签入所有内容.

当您实际处理这些代码并有机会测试您的更改时,请进行重构.Resharper将随时为您提供指示.

  • 是的,但不是每个人都以同样的方式关心代码.有些人完全满足于"在他们吃的地方屎",可以这么说. (4认同)
  • 管理者不应该让人们吃他们吃的地方.如果您的团队中的代码质量存在问题,最好的方法是与您的经理讨论相关问题,而不是通过重构它来告诉其他人您认为他们的工作不是很好(而且您的工作更好)他们代表. (2认同)
  • @Jason - 是的.我可以添加"不必要地代表他们重构".除非他们的代码存在已识别的问题(错误,代码标准问题,无论如何),否则重构它是不必要的和工作的,无论它作为一个编码器多么冒犯你个人. (2认同)