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

GreyZeng 2022-03-25 14:45:20

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

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

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

原文地址

...全文
589 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

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

学习计划:1, 为便于学习,建议先申请一个属于自己的小程序号并开通云开发服务,个人认证是不需要费用的; 2, 将视频课程通读一遍,视频中讲到的知识点,最好是能及时动手练习,检验学习效果; 3, 根据自己对所学内容的理解,尝试动手还原课程中的项目案例; 4, 遇到问题时再看对应的章节讲解,这样有效提升学习效果;课程目标:学会云开发方式下微信支付的对接方法课程简介:1, 为什么要学习微信支付云开发近几年微信小程序以其良好的用户体验在移动端用户中占据越来越多的市场份额,这一现象加剧了企业为在小程序端为用户开展服务的需求,这个需求量一直在攀升,做为前端开发人员如果不懂小程序开发,自己的竞争优势已经明显趋于弱势。另外很多小程序项目中,微信支付几乎是必备的功能。2, 课程特点虽然免费但质量不减,每一次公开课都将结合一些实际场景中的应用来展开,让大家学完后可以立即投入到实战中去使用,大家只要坚持跟着学习,通过点滴的积累学会微信小程序开发将不再是难事儿。3, 主体大纲第一章1.1 课程简介;1.2 效果演示;1.3 前置知识;1.4 功能技术分析;1.5 课程重点难点;1.6 课程安排;1.7 学习建议;第二章2.1 准备工作;2.2 生成订单;2.3 统一下单接口;2.4 调起支付;2.5 支付回调;第三章3.1 课程总结;3.2 要点总结;4, 配套福利(1)精讲微信云开发微信支付的详细的流程;(2)老师在线解答;

605

社区成员

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

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