1.1 在项目或程序比较复杂的情况下,如何高效率的进行程序理解?

GreyZeng 2022-03-25 14:45:20

本书第一章概论(第3页),提到一个名词——程序理解(Program Comprehension)。

软件团队的人员也会流动,新的成员要尽快读懂已有的程序,了解程序的设计,这叫做程序理解。

这个问题是我在暑期实习时体会到的。在接受前团队成员留下的一个较为复杂的项目时,需要从多角度理解项目内容,例如系统业务流程、各模块功能、实现功能的代码等。需要理解的内容不仅仅是代码部分,往往需要从产品原型开始理解。在代码风格不同,注释比较少的情况下,如何高效率地完成程序理解呢?

原文地址

...全文
568 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
GreyZeng 2023-02-26
  • 打赏
  • 举报
回复

A1:可以先运行一下项目,了解程序的大概实现,有个大概的轮廓在脑子里。接着可以将程序按功能或者方向分为几个小系统,然后先不看代码,按照自己的理解划分系统内的功能模块,再按照自己的划分将代码也划分成这样不同的功能模块,多余没考虑到的先记录放一边,接着一个模块一个模块理解代码,有了自己的思考理解起来也会事半功倍,最后再将没有考虑到的地方重点思考,不懂的可以再询问团队的其他成员。

原文地址:https://bbs.csdn.net/topics/613459824?spm=1001.2014.3001.6377

GreyZeng 2023-02-20
  • 打赏
  • 举报
回复

万事开头难,但是苍蝇不叮无缝的蛋。再难的问题总有简单的地方,最重要的是要弄懂自己不理解的地方在哪。是对技术本身不熟练?还是对同事编写的业务逻辑不清晰?技术不熟悉可以参考官方文档, 业务不熟悉可以参照注释或者单步调试慢慢摸索,对自己攻坚克难保持信心是高效的不二法门。

原文地址:https://bbs.csdn.net/topics/613439631

GreyZeng 2023-02-07
  • 打赏
  • 举报
回复

程序理解的任务就是要揭示程序的功能与实现机制,即理解系统的外部行为和内部构造。可以采用自顶向下理解策略的原则,从上到下的方式逐步理解下层细节,根据所拥有的知识和假设,把系统分解成能够在代码中实现的预料中的子系统,然后逐个分解每个子系统直到实现既定功能的一个个代码块。
原文地址:https://bbs.csdn.net/topics/613012484

SoftwareTeacher 2022-08-13
  • 打赏
  • 举报
回复 1

复杂的软件都是由各种简单的模块组成的,这个程序总有最简单的操作吧? 可以从这个最简单的场景中开始理解。

605

社区成员

发帖
与我相关
我的任务
社区描述
程序员。写过:移山之道,编程之美,构建之法,智能之门。
软件工程软件构建团队开发 企业社区 北京·朝阳区
社区管理员
  • SoftwareTeacher
  • GreyZeng
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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