我应该改变一下吗?

时间:2010-01-12 13:13:51

标签: coding-style version-control commit

我经常要提交源代码控制的代码样式更改,但现在更改日志中充满了那些不影响代码功能的更改。

下次我必须修理一些小问题时应该怎么做:

  • 删除并排序使用(在.NET中,在python中导入,包含在c ++中)
  • 正确的缩进,间距和换行符

13 个答案:

答案 0 :(得分:30)

如果您要更改代码文件,我真的不明白为什么您不想提交和共享这些更改。如果你不这样做,你就冒着别人会修理它们然后与你发生碰撞的风险。

如果它们不是其他用户在代码库中想要的更改,也许您应该问问自己为什么要花时间编写它们。

答案 1 :(得分:23)

提交它们,并将提交注释标记为适当标记,以便在浏览更改列表时更容易忽略。

不要在与更改功能相同的操作中提交它们。这样,如果你确实破坏了某些东西,那么更容易缩小破坏它的东西,如果有必要,很容易恢复重构。

答案 2 :(得分:20)

不要将它们与不相关的修补程序一起提交。

我会提交它们,但是在提交消息中添加一些预定义的关键字。生成更改日志时,可以忽略具有此关键字的邮件。

例如,您可以使用[cleanup]这样的前缀。

[cleanup] Removed some whitespace
[cleanup] Changed format
Fixed some major bug.
[cleanup] Corrected indentation

答案 3 :(得分:6)

在我是唯一的开发人员的项目中,我倾向于进行这些修复以及其他代码更改。

在有我们团队的项目中,我倾向于尝试自己做出这些改变,这样他们就不会掩盖“真正的工作”。

我觉得修复代码库中“错误”的所有内容非常重要,即使它只是缩进等纯粹的小问题。

答案 4 :(得分:5)

我认为这取决于您的工作环境以及在同一项目中工作的其他人如何处理可能不同的项目。

所以,我的一般建议是要求那些使用相同代码并为此类案例制定指南的人员。您可能会发现,由于外观变化,人们不介意签到,或者他们宁愿生活在一些“不美好”的状态,而不是处理杂乱的更改日志。

对每个人都透明的明确指南是处理这些问题并避免将来混淆的最佳方式。

就个人而言,我喜欢整理代码,并且不介意因为纯粹的外观变化而办理登机手续。但是,如果它只是一些间距和换行符,我可能只是让它变成只有当我正在处理相同的代码文件时才改变它。我经常删除和排序使用,因为如果有大量的使用没有意义,我会发现它很混乱,但那只是我。

答案 5 :(得分:4)

有几个问题。

首先,不要对代码进行更改,因为您感到无聊并且没有足够的实际任务。如果是这种情况,请与您的项目经理交谈并获得分配给您的一些实际任务,这些任务都是有价值的。

换句话说,不要为了改变而改变代码。始终为流程中的代码添加一些值。

现在,如果这些更改有助于您和其他人更轻松地处理代码,那么请执行此操作。遵循确保命名标准的事情,重构苛刻的代码等等。但是为此得到一个任务,以便你的项目经理可以说“是的,这很好,花2个小时就可以回到我身边。”

完成更改后提交更改。不要把它们与你刚才完成的任何真正的任务一起砍掉,或者下一个,它会在分支,代码评论和一般代码浏览之间合并错误修正,很难遵循。

  

“好的,所以你修复了错误7711,并且还更改了大约100个其他文件。很好,所以这里的错误修正是什么?”

答案 6 :(得分:4)

我认为当你有一组开发人员使用相同的代码时,最重要的是同意代码的化妆风格。因此,您的首要任务是尝试让整个团队就编码风格达成一致。

祝你好运。

完成上述操作后,请根据需要随时进行外观修饰,以提醒人们坚持使用这种风格。

Code Complete中有很多关于不同编码风格的优点。如果您可以让您的团队在编码风格会议之前阅读该部分,那么可以帮助您全面了解会议重点讨论。

答案 7 :(得分:2)

绝对提交它们。如果您将它们与实际代码更改一起提交,并且您必须回滚这些更改,那么您将失去修饰。

理想情况下,提交应该像数据库事务一样:一大块相关的工作代码,可以在不影响系统其他部分的情况下回滚。

答案 8 :(得分:1)

如果更改是针对可能存在任何争议的事情(例如括号的位置),那么请确保您已与团队的其他成员达成一致的代码风格。不要只是将它更改为您自己喜欢的样式然后检查它。否则其他人可能会更改它并检查他们的更改,然后您将其更改回您的方式...

答案 9 :(得分:0)

这些“次要”的东西是否已修复?如果是,请提交它们。如果不是,请不要。

真的,这取决于你和你的团队认为重要的事情。

答案 10 :(得分:0)

我喜欢经常犯。当然,任何时候都有明显的变化。这很简单。如果您开始划分代码片段并尽快尝试提交一些代码片段,那么您最终会忘记提交一些非常重要的代码片段。

简而言之:经常提交并始终记录变更。当发生巨大变化时,请标记它。

答案 11 :(得分:0)

不要仅仅为了提交而提交。我通常会为我正在处理的代码添加这些代码。例如,如果我正在修复方法A中的错误,我也要确保也进行所有修饰。

IMO你们缺少PMD,JIndent等编码工具,可以在编码时解决这些问题。像Netebeans这样的IDE会将这些“问题”显示为警告。所以它不是随机/个人改变遵循标准。

答案 12 :(得分:-5)

作为旁注,让他们接受下一次重大改变。至少那就是我要做的。