如何开始在大型旧版应用程序中强制实施锐化器规则

本文关键字:施锐化 锐化 规则 开始 何开始 大型 应用程序 | 更新日期: 2023-09-27 18:35:50

我们开发一个大型遗留应用程序。最早的代码库已有 20 到 30 年的历史。多年来,许多开发人员一直在研究它,并使用了不同的架构和编程风格。大多数代码是 C#,有些是C++代码,很少是 VB6。我对这个问题的关注点是 C# 代码。

作为一组架构师,我们希望清理代码并使其更易于维护。我们将ReSharper与Visual Studio 2013(即将推出VS 2015)一起使用。一些开发人员热衷于"让ReSharper满意",并且不显示源代码文件的警告,而其他人甚至不使用ReSharper或忽略任何警告信号。因此,我们认为,让整个团队遵守相同规则的唯一方法是在持续集成构建中检查它,如果仍然有 ReSharper 警告,则失败。这在新的解决方案上非常有效,但在遗留代码中,它可以在每个类中显示数十个甚至数百个警告。如果我们一次打开所有文件的所有规则检查,我们的软件将不会构建一个月。

根据我的经验,ReSharper 中的全自动代码重构是危险的,因为它在某些情况下可以更改逻辑。

问题1:那么,如何为大型遗留应用程序引入规则检查呢?我们使用TFS2013。我了解到Team City有一个ReSharper插件,它允许保留旧代码,只检查签入时修改的内容。不幸的是,我们没有自由更改我们的构建服务器。
问题2:但是有谁知道Team City插件是如何工作的吗?
问题3:是检查了已更改分类的整个文件,还是仅检查了所接触的行?
问题4:适用于类结构的规则(如公共成员、受保护成员和私人成员的顺序)如何?
我很想有类似的东西,比如 ReSharper 插件的差异检查 TeamCity for TFS,但我找不到任何东西。如果你知道这样的事情,请告诉我。

我很高兴听到你们中的任何人如何掌握引入规则检查。

如何开始在大型旧版应用程序中强制实施锐化器规则

我找到了TeamCity允许你做什么的描述:TeamCity

关于我的问题的重要部分是:可以将 TeamCity 配置为将每个源文件发现的问题与上次构建中的问题进行比较。如果存在更多类型警告或错误问题,则可能会使生成失败。

据我所知,TFS 没有此功能,我不知道有任何加载项可以完成类似的事情。

但是,我相信这种差异问题检查是改进遗留应用程序最有希望的方法之一。