软件开发到中后期,会有很多的方法和变量,如何管理?

大刘0417 2014-04-20 05:29:45
在开发一个小型程序时,我都是边开发边构想,导致开发到中后期,会有很多的方法、变量、模块,这样回头再修改时会导致很难查找,即使找到了,也想不起来当时设置它的作用,还要花的时间来跟踪其功能,不便于记忆。

我想把程序中各个模块和方法、变量及其关系用一种图表的方式表现出来,这样在开发的时候就可以提供一个很好的参考,但不知有没有这方面的工具。

请问各位有开发经验的大神们,你们开发时都是什么什么工具来解决这个问题,是不是有什么好的辅助工具。

本人英文不好,如果有这方面的工具,最好是中文的。
...全文
231 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
大刘0417 2014-04-23
  • 打赏
  • 举报
回复
感谢高手们的帮助,分不多,大家分一下吧。
youzelin 2014-04-21
  • 打赏
  • 举报
回复
顺便说一下,Visual Studio 自带有 Class Diagram 生成器。你对着项目右键,可以生成 类结构图,这个应该有点帮助!
欢乐的小猪 2014-04-21
  • 打赏
  • 举报
回复
要是有个架构师就好了
  • 打赏
  • 举报
回复
“思维导图”这种东西其实就是方便于你自顶向下去分解概念的。 但是我告诉你,软件设计不是搞功能分解。软件设计需要的是创意,不能用搞行政事务(分解领导指示)的方式来搞软件开发,也不是一个学生写毕业论文式地糊弄导师的那种八股文!软件设计既不是“自底向上”的拼凑,也不是“自顶向下”地概念分解。有些人只会弄一些什么数据库表之类的静态概念,美其名曰“设计”,这时候也许会对“思维导图”之类的小概念特别感兴趣,而对软件分析设计方法并不入门。 实际上“思维导图”只是一个小伎俩,它只能帮你先拼凑一些概念分解思路,根本不能进行技术创意和技术规划。
jy251 2014-04-20
  • 打赏
  • 举报
回复
我经常跟你一样,而我经常的做法就是重构,看什么不顺眼就完全重写什么,如果功能上我觉得可以换一个,那我干脆重新设计。 我的做法不可取~~
  • 打赏
  • 举报
回复
类似“思维导读”这种小伎俩,都是在它的范畴内起作用的。你把这些堆砌起来用在“给程序写注释”上,没有太多的作用。 我们使用XP编程方法,程序员(不管是哪一个开发平台上搞开发都)需要自己写TDD。 代码的问题最终还是要用代码来注解,而不是什么文字或者图形。但是很多人不相信,或许会总是追求什么“银弹”工具去脱离了可执行的代码去弄一大堆不可执行(但是针对“观赏”用)的所谓设计,就好像我们做实际的人总是在各种项目终于到了一大帮高级知识分子是专门搞“咨询、写报告”的人一样,社会分工不同,我们就让别人去消磨时间吧。
threenewbee 2014-04-20
  • 打赏
  • 举报
回复
设想下一个单位的组织架构是怎样的。

老板为了管理1000多号人,他不可能搞清楚每个人的具体情况,他可以任命10个部长,每个部长管10个班组长,每个班组长管10个员工。

一样的原理,你的代码如果有10个模块,每个模块有10个函数,每个函数有10个变量,那么你理解这1000个变量就一点都不困难了。

换言之,阅读一套代码,并不需要完整地把所有的都看一遍,如果你的系统组织清晰,那么可以大致知道它有哪些模块构成,这就够了。
threenewbee 2014-04-20
  • 打赏
  • 举报
回复
的确有很多反向建模的工具。但是绝对不是说你可以胡乱写一通,然后完全让机器告诉你,你写的东西怎么理解。 机器永远是机器,你都不理解,机器更不理解。
  • 打赏
  • 举报
回复
软件工程可以使用UML等图形符号体系,但是更重要地还是要长期积累一些设计思路,并且你有一些分层系统。 堆积垃圾容易造成恶性循环。有些人总是把它归咎于“注释写得少”,这是一个悖论。其实注释解决不了读者的自身素质问题。 写代码当然是越少写越好。比如说你有一定的知识,知道如何在某一种数学几何系统上表达一定意义的信息归集、分析的概念模型,这就能节省很多笔墨。而换一个人缺乏相关基础知识的人,他只知道用最底层的“业务需求”来堆砌描述,那么他很可能自认为很了解系统,却多花了10倍了时间也无法让概念去落地。这就是因为他的知识水平中没有相应的工具平台的抽象概念。
大刘0417 2014-04-20
  • 打赏
  • 举报
回复
代码中都写了注释说明,但因为是想到哪写到哪,回头再改很费劲,有没有类似思维导图之类的工具专门为构建程序使用的?
bdmh 2014-04-20
  • 打赏
  • 举报
回复
至少你应该有个文档,最次的,代码中应该有明确的注释说明

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧