打破一个单一的项目

时间:2011-05-04 19:19:08

标签: c# wpf project-management

我即将将单片WPF / C#应用程序分解为可管理的模块。请在破解软件之前告诉我需要记住的要点。任何方便的工具等等。

提前致谢。

此致

约翰。

3 个答案:

答案 0 :(得分:2)

您的问题非常广泛,因为有许多技术(例如对您的代码进行大量单元测试)都有帮助。最好阅读一本关于该主题的书。我强烈推荐你Michael C. Feathers

  

<强> Working Effectively with Legacy Code

enter image description here

尽管本书主要以Java为中心,但所描述的技术通常是适用的。它肯定会改变您编写和思考代码的方式,并且在使用现有应用程序时会有所帮助。

羽毛&#39;本书也是this SO post中推荐的书籍之一。

答案 1 :(得分:2)

根据您的工具集,从架构或结构角度分析代码库时,通常会有一些帮助。

在VS 2010 Ultimate中或使用nDepend等工具,您可以生成依赖关系图,帮助您了解应用程序的依赖关系,并且在尝试将大型代码分解为较小的API或服务时,代码使用会很有用。

单元测试和集成测试也可以帮助确保维护功能而不会引入错误,并且使用resharper,justCode或coderush等重构工具可以真正帮助调整命名空间,代码文件物理位置和类/方法签名。将大型代码库转换为更易于管理的更小的库和项目。

在规划方面,您确实需要从关注点分离的角度建立应用程序的关键元素,以定义每个模块的边界。

可能你做的最糟糕的事情就是启动并开始将代码破解成块。一次为一个模块制定分阶段迁移将是我的首选策略。

同意上述评论,但问题太广泛,无法得到任何有意义的答案。

答案 2 :(得分:0)

要完成关于工具的Mac答案,例如NDepend(免责声明:我是NDepend工具的开发者),我建议您阅读these 2 white books有关如何在程序集中对代码进行分区的信息,图层和组件。这无疑是打破整体代码库的关键。