首页 > 代码库 > 编程漫谈(十):六个最基本内功心法
编程漫谈(十):六个最基本内功心法
编程即是有序地组织计算指令,使之完成合乎预期的事情和效果。
一、 逻辑语义与物理语义
指令的逻辑语义与物理语义是编程的出发点。逻辑语义是指从问题和自然理解的角度的语义,物理语义是指从计算机存储和运行的角度的语义。比如, int i = 4 的逻辑语义是在程序中创建一个初始值为4的整数变量,物理语义是在计算机内存中分配了4个字节,值为0x00000004. 编程语言提供了从指令的逻辑语义到物理语义的语义映射,而我们通常是使用编程语言从逻辑语义上进行编程的。当编写一行代码时,应该理解它所指代的物理语义。
二、 编码与解码
编码与解码是在计算机中表示和还原世间万物的方法和技术。 要在计算世界里解决现实世界的问题,就必须将现实世界的事物映射到计算世界里,就涉及到编码问题;要将计算世界的解映射到现实世界,就涉及到解码问题。
三、 数据结构与算法
理解编程语言的逻辑-物理语义之后,下一步要掌握的两大武器是数据结构与算法。 数据结构是程序中存储和组织数据的重要法宝,而算法则是在数据结构之上设计的操作序列。数据结构与算法是问题求解的基础,是编写大型程序必不可少的要素,是计算世界的基石。
四、 设计模式
熟悉基本数据结构和算法之后,接下来要学习设计模式。
编写小型程序, 代码缠成一团没有关系; 但是编写中大型软件系统时,若缺乏设计模式的辅佐,代码组织就会乱成一团意大利面,难以修改、扩展和维护,系统很快就会腐化成没人想动它的废弃物。 设计模式是培养对象编程的结构化的思维体操。
五、 模块化与封装
掌握编程语言、编解码、数据结构、算法、设计模式,基本上能够胜任中小程序的构建了。不过,要驾驭中大型软件系统,就要学会将已实现的通用逻辑流(数据结构、算法、函数、方法、对象、代码结构、业务逻辑等)进行模块化与封装,成为可复用的模块,并仔细设计模块之间的交互关系。
六、 进程与内存
当构建和运行程序时,应当理解程序的运行机制。理解进程与内存的管理是必经之途。进一步地,理解程序所占用的CPU,内存,磁盘IO, 网络等资源以及程序的响应时间和并发吞吐量也是必要的。知其然而知其所以然。
编程技法千变万化,但万变不离其宗。 掌握了编程的六个最基本内功心法,可以开始接触更广泛的技术招式:
比如数据库, 管理和检索大量有序记录的技术;
比如正则表达式, 灵活操控文本的技术;
比如Socket编程, 网络编程的基本技术;
。。。。。
编程漫谈(十):六个最基本内功心法