怎么解读c++程序

对程序的认识,就是一个流程,一个制度,一个规范,一个过程,一个逻辑。它是一件事的逻辑描述。

可说是某件事的日记。

它有四个主要KPI,一个是时间,一个是条件,一个是处理,一个是结果。

具有了这四个KPI,就可以产生程序了。

一个进程可以说是一个对象利用日记,当然时间肯定变了,条件和结果不一定了,处理也是不变的。

c++是一种面向对象的语言,它用以描述计算机程序。那么该怎么解读c++程序呢?

解读c++程序,就像解读外语文章一样,比方英文版的《福尔摩斯》,我要解读它,首先就必须能够明白英语的语意语法,这个是个门槛;其次要具备人文社会概念,这个就是程序使用到的规律或者是协议,这个就涉及专业性。

在具备程序语言的基础上,解读程序,难点在逻辑的解读上。这需要投入不少的时间来解读。阅读意个程序,就像阅读一篇文章。记得学生时代的阅读理解,不管是英语的阅读理解,还是汉语的阅读理解。基本的是单词的理解,然后是单词的理解,然后是句子的理解,再然后是段落的理解,最后是通篇主题和中心思想的理解。

解读程序,阅读理解一样,首先弄清楚程序分哪些模块,然后各个击破,然后总结出这个程序具备什么功能,最后用自己的想法来改变程序,达到举一反三融汇贯通效果。

可以说解读程序是写程序的逆向过程。写程序,首先要明确主题,就是要做什么,其次是选择程序语言和逻辑拆分,大化小,使事情简单清晰,做起来才事半功倍。

解读就是由小凑大,一点一滴的将程序片段汇总,打通它的主题。

就拿ftp程序来分析,怎么写ftp程序?

首先,我们得了解ftp是个什么,其次计使用什么计算机程序,怎么将ftp翻译成计算机世界语言。

ftp程序人类语言可能这样描述:

建立控制连接
建立数据连接
发送传输数据请求
传输数据
结束传输
结束连接


c++是面向对象的,可以将ftp设想为一个类,它具有传输文件的属性。那么就可以建立一个ftp类,然后ftp类创建一个ftp对象,让他来达到上传或下载指定站点的文件。当然这只是简单概览,具体的还需要投入时间和精力来琢磨推敲。

假设现在有c++一个程序和源码摆在我的面前,现在它对我来说是个黑盒子,就像物理老师说过的,要了解一个物质,就要破坏它,看透他,就像物理学家发现和了解新粒子,都是通过另一种高能粒子来轰击它,观察和统计其状态,最终总结分析结果,确定是不是新粒子的。

对于程序源代码,我们先看源代码的目录划分,文件划分,可能程序会依据目录来划分模块,比如一个程序分平台、应用、业务模块,它的源代码目录可能是这样来划分:platform、app、business。通过文件来推测模块化分,比如ftp程序,它分配置、连接、传输、书签和日志模块,那么它的文件命名可能是config.h、Connection.h、transmission.h、bookmark.h、log.h。其次是对类、对象和过程分析。

可以先大致浏览一下程序的全貌,然后各个击破,不懂的先跳过,作为一个遗留,过段时间在回头清理。

对于理解不清的,可以尝试猜想它的意思,然后修改源码,验证一下,看看是不是你所想的。

只要自己状态和节奏都很好,遇到新概念,重要的,停下来花一两个时间了解一下,没必要一下子吃透,在应用中慢慢领悟体会理论,然后在发展自己的理论。

用一句中式英语结束Good good study. Good good think. Day day up. Day day happy.

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值