我正在使用C#和VB.NET。

我经常(每天......)为现有的源文件添加注释。当我签入这些文件时,我想让我的合并工具忽略对注释所做的任何更改 - 我只是想确保我没有更改代码。

我使用WinMerge和Team Foundation Control Server(是的,没有机会:当我接受这个工作时,Subversion不是一个选项:o)。它们都可以忽略空格但不能忽略注释。结果:在检查之前,我必须仔细查看我对每个文件所做的所有更改。这非常麻烦。

(好吧,因为我的大多数同事都没有发表评论 - 嘿,他们使用相当长的名称空间/类/方法/属性/类型/常量名称来告诉所有人,伙计们! - 这很多工作。)

有什么建议吗?

一切顺利, 西尔。

有帮助吗?

解决方案

BeyondCompare有一个忽略“不重要”的过滤器。默认情况下,更改和注释属于该类别。

其他提示

Compare ++ 有一个选项“忽略评论更改”和“忽略纯格式化更改”这应该符合你的要求。

你说你使用过WinMerge - 它有能力过滤掉评论。

但是它仅适用于单独行上的注释,例如:

int i; // comment

将被检测为与

不同
int i;

听起来您正在使用评论作为工具来理解代码。这是一个有趣的想法,相当于突出一本书或做笔记。但是,在与其他人合作之前,您需要确保删除所有这些短暂的评论。

在比较或推广之前,通过删除评论的过滤器程序运行源文件。这可能是一个单行的perl脚本。

为了方便起见,请为您的非永久性评论使用独特的模式,以便更容易过滤掉(以及区分这些短暂的评论以及您真正希望留在源中的评论)。例如。如果您使用C ++编写,请始终使用

进行评论
 //Sylvain: this is my comment here.

或其他一些更容易格斗的模式。

如果评论内容不是您关心的内容,并不重要,为什么不删除它们?

如果记录良好且可读且易懂的代码是您创建的代码的一部分,为什么不查看对该元数据的更改?

为你的代码添加注释是闻到你的代码难以阅读,代码应该是自我描述的,就像有人说的那样,好的代码就像是一个好笑话,不需要解释。最好更改变量名称,将代码部分放入子程序中。重新分解比评论更好。即使你找到一个工具来解决你的评论问题,它也无法解决使代码易于理解的真正问题。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top