我继承了一个旧的应用程序,用C#/.NET2.0编写。(联合国)幸运的是,没有文档-甚至没有评论。因此,当我根据新的需求向应用程序添加增强功能时,我也在构建一个关于应用程序做什么以及如何做的心理模型--换句话说,就是架构。
我想知道有什么工具可以“解构”应用程序,并从原始代码转移到更高的级别?这个应用程序的面向对象并不是很重--事实上,其中一个使用的对象被称为“函数”。它主要只是一堆方法--很多方法似乎是凭空跳出来的。
我想把原始代码翻译成某种需求文档,说明应用程序做了什么以及它是如何执行的。做这件事最好的方法是什么?有没有什么应用程序可以帮助我呢?也许我应该/不应该包含的模板?也许是你推荐的书/网站?目标是为我和维护该应用程序的未来开发人员提供文档。
发布于 2010-11-12 12:24:11
就我个人而言,我会从Robert C Martin的敏捷书和Eric Evan关于域驱动设计的书开始。这些都是理论书籍,但Bob叔叔的书特别谈到了修改代码以使其易于管理,就像您的情况一样。
对你的软件进行分层是非常必要的,这样你就可以开始删除依赖项,这将使一切变得非常简单和易于维护。
我是一个数据库专家,所以我从一个很好的对象关系管理开始,比如实体框架或流畅的NHibernate。我更喜欢网站,所以我选择了ASP.NET的MVC 2,然后开始编写这些书的所有部分,即数据存储库、拉取数据的服务和推送数据的控件。MVC很好地分离了数据关注点和屏幕上的“视图”关注点。用不了多久,你就会拥有非常干净和易于维护的软件。
发布于 2010-11-12 17:06:24
如果你使用的是VS2010,你会看到一个名为:架构的菜单。通过这个工具,你可以创建应用程序的依赖图,你可以按照下面的描述使用它:
https://stackoverflow.com/questions/4161524
复制相似问题