`
poson
  • 浏览: 348337 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

最近阅读 C++代码的感想

    博客分类:
  • c++
阅读更多

 

一个优秀的C++程序员通过运用派生、虚函数、重载、序列化等一系列技巧把代码写得非常抽象。这样的代码非常精巧,对事物的描述也非常到位。通过一定抽象,代码也可以非常简洁。但是如果没有足够的文档和介绍,对接手维护这个系统的人无疑是一个噩梦。

最近我看的一个系统代码就是设计比较好,可惜阅读起来比较难懂。特别是其中重载符号运算符,并且与我们通常对,加号等符号理解不一致的时候,特别难以理解。最好花了一番功夫,通过阅读相关文档,终于对代码有了比较清晰的稳定。

通过这个系统的阅读,认为一个较大的C++程序,需要的文档应该有以下几个方面:

 

(1)有一个程序结构图(类图),介绍系统的框架; (可以使用工具来生成)

(2)有一个数据流程图,介绍程序的流程,或者一系列的UML图。不过画UML图比较耗时间,有一个流程图就不错了。

(3)需求文档,介绍相关的业务知识。设计文档,搞清楚设计者的思路。记录设计者设计的时候考虑了那些因素。特别要 记录系统中对特殊情况的处理。

(4)部署文档,包括相关程序,数据的部署情况。

 

 

ps:可以使用doxygen 创建代码文档

一个月专心的学习室必要的。

分享到:
评论

相关推荐

    《c++view》不错的刊物

    至于国内中文C++的资料,可以说不少了,但大都集中在VC怎么用Wizard帮助写代码,BCB又怎么拖动鼠标做出一个按钮。C++基础,以C++为载体的世界,长期以来,却被忽略了。 C++ View就这么创刊了,也许为了弥补这个缺憾...

    C++_View第1--7期

    至于国内中文C++的资料,可以说不少了,但大都集中在VC怎么用Wizard帮助写代码,BCB又怎么拖动鼠标做出一个按钮。C++基础,以C++为载体的世界,长期以来,却被忽略了。 C++ View就这么创刊了,也许为了弥补这个缺憾...

    C++ View(1到7期)

    至于国内中文C++的资料,可以说不少了,但大都集中在VC怎么用Wizard帮助写代码,BCB又怎么拖动鼠标做出一个按钮。C++基础,以C++为载体的世界,长期以来,却被忽略了。 C++ View就这么创刊了,也许为了弥补这个缺憾...

    C++考勤管理系统文档+源代码

    摘要:VC/C++源码,数据库应用,考勤管理,毕业论文 C++考勤管理系统源代码,本考勤管理系统主要用于企事业单位的考勤,便于统计员工的出勤情况。  用户需求(程序功能)分析及程序流程图:  (1)系统功能:   ...

    C++课程设计-Flappy Bird

    C++课设的完整文档(封面+代码+感想) 不涉及图形组件。

    南昌大学C++实验报告《计算机系网络工程》

    网络工程专业 c++实验报告 代码+截图+感想

    高质量C++编程指南

    这是林锐博士在编写了很多代码后的领悟与感想。拜读后让我感慨颇多,因此分享出来,希望对大家有帮助。

    VC++ 6.0非模式对话框示例以及对比Java的Swing编程的感想

    它的难点就是自定义的消息句柄问题,因为IDE不帮助初学者“自动”生成代码,这需要我们程序员来理解消息句柄的概念。 Windows的自定义消息句柄处理过程非常类似于Swing编程中Frame类与监听器的关系,只不过Java的...

    操作系统课程设计——Linux二级文件系统设计

    C++/VC++ 【设计要求】 理解Linux的文件系统的组织;掌握常用的数据结构;系统采用两级目录,其中第一级对应于用户账号,第二级对应于用户帐号下的文件;使用文件来模拟外存,进行数据结构设计和操作算法的设计,实现...

    c语言青蛙过河小游戏.zip

    c 代码 ===================================================== 程序名称:青蛙过河小游戏v1.0 编译环境:Visual C++ 2010 =============================== 作者感想: 这是一个很典型的游戏, 很多程序使用的...

    医院选址问题

    医院选址问题的算法用伪代码描述如下: 1.对加权有向图,调用Floyd算法,求每对顶点间最短路径长度的矩阵; 2.对最短路径长度矩阵的每列求大值,即得到各顶点的偏心度; 3.具有最小偏心度的顶点即为所求。 【思考...

    数据结构课设

    2.可读性:代码编写是否规范,是否便于阅读。如函数、变量命名,‘{ }’的缩进,关键位置适量注释等 3.功能的完善:除要求实现的功能外,完成了其它的功能,实现了功能的完善 4.健壮性:异常处理的情况 5.界面的设计...

    EvolandPocket:模仿PC游戏《Evoland》所作的RPG游戏

    当时文档中写的感想:一共历时20多天。第一次尝试做RPG游戏。程序上的所有功能完全自主实现,没有参照任何代码。近200K的代码量,41个类,全盘推倒重构2次。期间遇到bug无数,全都自主解决,没有寻求任何帮助。遇到...

    数据库课程设计报告1.pdf

    3、 数据库管理系统不限(Oracle\SQL Server\MySQL\Access…)、开 发语言不限(VC\VC\ C++Builder\Delphi\C#\.net\ASP…),避免把 学习语言的时间放在设计期间; 4、 从开始的系统雪球分析到最后的软件测试,都要...

    MFC数字图像处理(BMP格式读取 保存 DFT FFT 直方图 色调均化 缩放 模糊 锐化 滤镜 形态学处理 曲线 裁剪 灰度图 彩色图 自动阈值)

    关于设计的感想也写在了设计报告上了- -,这里也就不多说了。 好了这个程序算是最终完成了,撒花!师姐辛苦了~!!!!! =====================================================================================...

Global site tag (gtag.js) - Google Analytics