我即将将单片WPF / C#应用程序分解为可管理的模块。请在破解软件之前告诉我需要记住的要点。任何方便的工具等等。
提前致谢。
此致
约翰。
答案 0 :(得分:2)
您的问题非常广泛,因为有许多技术(例如对您的代码进行大量单元测试)都有帮助。最好阅读一本关于该主题的书。我强烈推荐你Michael C. Feathers
尽管本书主要以Java为中心,但所描述的技术通常是适用的。它肯定会改变您编写和思考代码的方式,并且在使用现有应用程序时会有所帮助。
羽毛'本书也是this SO post中推荐的书籍之一。
答案 1 :(得分:2)
根据您的工具集,从架构或结构角度分析代码库时,通常会有一些帮助。
在VS 2010 Ultimate中或使用nDepend等工具,您可以生成依赖关系图,帮助您了解应用程序的依赖关系,并且在尝试将大型代码分解为较小的API或服务时,代码使用会很有用。
单元测试和集成测试也可以帮助确保维护功能而不会引入错误,并且使用resharper,justCode或coderush等重构工具可以真正帮助调整命名空间,代码文件物理位置和类/方法签名。将大型代码库转换为更易于管理的更小的库和项目。
在规划方面,您确实需要从关注点分离的角度建立应用程序的关键元素,以定义每个模块的边界。
可能你做的最糟糕的事情就是启动并开始将代码破解成块。一次为一个模块制定分阶段迁移将是我的首选策略。
同意上述评论,但问题太广泛,无法得到任何有意义的答案。
答案 2 :(得分:0)
要完成关于工具的Mac答案,例如NDepend(免责声明:我是NDepend工具的开发者),我建议您阅读these 2 white books有关如何在程序集中对代码进行分区的信息,图层和组件。这无疑是打破整体代码库的关键。