程序设计好比写文章
写文章,我们要经过观察,构思,酝酿,写草稿,修改,批阅,成文等过程。
写程序同样要经过,需求分析,酝酿,设计,编写,调试,测试,运行,维护等过程。
下面是程序设计和写文章所需要的各粒度的元素对照,可能划分的不是很贴切,但是确实可以对比一下。
文章 | 程序设计 |
字词(word) | 变量(variable) |
句子(sentence) | 运算符(operator) 表达式(expression) 语句(sentence) |
段落(segment) | 函数(function) 类(class) |
篇(piece) | 文件(file) |
章(chapter) | 技术(technique) |
书卷(book) 册(volume) | 技术(technique) |
集(collect) | 技术(technique) |
库(library) | 库(library) |
词汇(glossary) | 技巧(ticks tips) |
修辞(rhetoric) | 算法(algorithm) |
布局(layout) | 数据结构(data structure) |
生活(life) | 模式(pattern) |
思想(thinking) | 工具(tools) 语言(language) |
背景(background) | 架构(architecture) |
作者(author) | 作者(author) |
时代(times) | 架构(architecture) |
需求(requirement) | 构架(truess) 框架(frame) |
红字这些都需要程序员不断的积累,为了满足各种需求,算法、技术、技巧、模式、工具、语言要经常变换,而架构、构架、框架要相对稳定一些,
但根据不同的应用和公司不同的发展程度,即使的架构、构架、框架也要频繁的更换。
一个文人要写出富有内涵,有思想,有主见,有意义,有深度,有影响的文章,其作者的生活经历,出身,文化程度,所处的时代背景都会对文章的写作产生影响。
同样,一名程序员对程序设计的各种基础知识的积累,各种算法,技术,模式等的理解积累,同样会影响其产出代码的质量。而程序员所经历的程序生活,所积累的思想,
所处的公司背景,时代背景,所要满足的项目需求更要影响程序员的产出质量。