我不打算这是主观的,但如果答案可以通过建议或方向稍微调整一下,我会很感激:)
在过去的几年里,我的工作是开发并维护/扩展相当大的应用程序。该应用程序是我们部门运行的第一批.NET项目之一,几乎整个开发团队都是一个巨大的学习曲线。由于对于几乎每个人来说这都是一种新的体验,我们已经制定了一些丑陋的代码 - 实际上“有些”更像是“可能只有几十万行”。
我们的团队现在大部分时间都已成熟,我们正在意识到我们的错误使应用程序陷入困境,并且维持其当前状态几乎与它所取代的神秘VB6应用程序一样困难。值得庆幸的是,决策者意识到我们需要纠正我们的错误,但是我们支持8球,我们的大多数开发人员都在预定的功能增强(在我们的业务范围内是必要的恶意)或侧面项目上工作。 / p>
我们正在使用.NET 2.0,VS2005(希望迁移到2008年),TFS 2005(即将推出到2008年)
有哪些工具可以帮助我们执行编码标准(我正在审查Juval Lowy的C#标准并将其转录为VB.NET)
有哪些工具可以帮助我们识别设计不佳的组件?
有哪些工具可以帮助我们映射当前混乱的命名空间?
当我想到这些问题时,或者随着反应引发突触,我可能会将此问题扩展到更多问题。
新 - 是否有任何工具直接针对TFS工作以帮助分析我们的代码?
答案 0 :(得分:5)
要做的第一件事是确保您有足够的单元测试覆盖率。如果你有这个,你可以重构和重新编码,同时仍然确保你的应用程序仍然有效。
代码标准 - 你看过FxCop或类似的东西吗?
还有StyleCop - 仅限C#
答案 1 :(得分:5)
获取ReSharper!它具有可以极大帮助的代码清理工具 - 包括违反编码标准的通知。
我也同意ChrisF的建议,即您要实施单元测试以确保更改不会破坏该应用程序。 Resharper可以为此提供帮助,并且它具有内置工具,可以直接在Visual Studio中运行单个或多个单元测试。
答案 2 :(得分:4)
答案 3 :(得分:1)
Resharper放下手。
并将背景颜色设置为粉红色。
答案 4 :(得分:0)
由于您提到您正在使用VS Team System并且很快将迁移到VS 2008,因此肯定会查看内置代码分析(FxCop)和代码指标。您也可以将NDepend用于代码指标。要记住的一件事是内置代码分析使用slightly different rules而不是独立版本的FxCop。 FxCop(或内置代码分析)也会产生大量“噪音”,而某些规则对于面向公众的(API)代码比非公开代码更为重要。
StyleCop适用于源代码样式问题,虽然它可以产生大量“噪音”,而某些规则不如其他规则重要。 (例如代码“布局”规则,说私有方法应该在公开之后等等。对于代码格式化,最重要的是要记住它应该是一致的。)
对于映射当前名称空间,您可以使用内置类图,但我认为NDepend可以更好地为您提供更全面的图片。
据我所知,没有任何工具可以直接针对TFS存储库。您需要在本地签出代码,运行工具,然后重新检入。
您还提到您正在查看IDesign代码样式文档。你还应该看看Framework Design Guidelines,这是IDesign的基础。 IDesign指南很好,但我不同意所有这些指南。
答案 5 :(得分:0)
正如许多人所说,Resharper有助于大幅减少一些裁员和一般不良做法。我刚刚下载了另一个工具CloneDetective,它可以帮助识别重复的代码。这两者似乎是一个强者。但我还没有回顾克隆侦探。