对程序的认识,就是一个流程,一个制度,一个规范,一个过程,一个逻辑。它是一件事的逻辑描述。
可说是某件事的日记。
它有四个主要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.
怎么解读c++程序
最新推荐文章于 2023-11-24 11:33:05 发布