程序三部曲
来源:互联网 发布:魔法花园 装备数据 编辑:程序博客网 时间:2024/06/10 04:59
从阅读别人家的代码,到调试别人家的代码,再到编写自己家的代码,调试自己家的代码。这是一种蜕变,更是一次畅游程序界的旅行。
一、高效阅读程序代码
阅读代码是程序猿必须掌握的技能之一,对于很多没有程序设计基础的猿们而言,那浩瀚如烟的代码犹如天书一般,让人望而生畏。
代码和文字,都是作者思想的间接表达,于是乎,读代码和读书,本质上是一样的。 1.整体把握法
- 阅读C++代码的顺序
预处理头文件
各函数声明
主函数
{
主函数体
}
各函数定义
以上是一个函数的程序结构,如果从头至尾地读,多半顾此失彼;明智一点的,应该先读主函数,遇到调用的地方,直接跳到调用函数。
- 整体把握语意
对于代码中的函数,大部分只要了解它的功能即可,刨根问底的精神不值得称道。而了解函数或语句块的功能,大致有二:
1)、猜(优秀的程序员在给函数、变量以及参数起名的时候,会考虑到它们的实际含义。)
2)、看注释(这一点尤其值得称道!)
2.经验法
九个字:理清层次,寻找关键点。
3.模拟法
用大脑和笔按照代码的思路一步一步进行推演。
调试程序代码的技巧
是骡子是马,拉出来溜溜。代码搞定了,下一步自然就是调试,但指望他一击必胜,还是颇有难度的。调试的流程大致如下:
- 编译
- 连接
- 运行
- 测试
编译和运行统称编译阶段,需要检查语法错误;运行和测试统称运行阶段,需啊检查语义错误。
1.语法错误
编译器一目了然,无需作者亲自操刀。
2.语义错误
这种错误也分两种:
1)考虑不周或输入错误导致程序异常
2)程序设计思路错误导致程序异常
对付第一种,找出输入的错误或考虑临界情况的处理;对付第二种,少年,你得重新来过。
三、编写程序的技巧
能从头到尾写一段程序且运行成功,那是相当有成就感的;But,傻子才会从头到尾写。在庞大的程序帝国中,有一种人叫架构设计师,据江湖传言,他们彻底摆脱了语言的束缚,身兼百家之长,熟悉很多语言的精髓;知道软件发展趋势,会开发新一代产品或制订新一代产品的方案,知道各种软件产品特性。架构设计师会根据这些特性做出非常好的产品。另外,杰出的架构设计师具有创新技巧的本领。当然,吾辈还需付出相当大的努力才可与之匹敌,不过,先在脑海中种下这颗种子还是有必要的。
现实生活中的很多问题之所以能够用计算机来处理,是程序的功劳。程序=算法+数据结构。所以数学功底很重要!!!数据结构的扎实功底很重要!!!
而在所有计算机能够处理的问题中,大致分为三类:
算。比如说计算利润、计算方程根、数列的和。
找。找最大数、最短路径。
实现功能。比如撤销、重做、实现模拟某种操作的功能等。
1.算法实现
将实际问题转化为数学知识。
2.匹配实现
减小分支,缩小范围。
3.功能实现
找到相关的方法,力求正确、简洁、高效。对于约瑟夫环、汉诺塔等经典问题有深入的理解。此外,递归的精髓也要了解。
有了软实力,硬实力就得靠你扎实的积累了,为师只能帮你到这了。
- 程序三部曲
- 三部曲
- 三部曲
- 程序修改升级三部曲:需求、设计、实现
- Spark入门三部曲之第三步Spark程序的开发和运行及WordCount
- 租房三部曲
- 測試人員面試三部曲
- 电影三部曲
- 爱情三部曲
- 程序员三部曲
- 皇后三部曲
- RCU三部曲
- ROR三部曲
- 人生三部曲
- 软件工程三部曲
- 程序员三部曲
- 泡妞三部曲
- Axure三部曲
- C#IOXML
- Myeclipse增强for循环
- leetcode search a 2d matrix
- 二、Reids基础命令--字符串
- CentOS6.5下安装XAMPP1.8.3
- 程序三部曲
- JS中window.showModalDialog()详解
- vCenter 虚拟机硬盘空间不足的问题处理过程
- 泛型练习5
- 大型网站技术架构核心原理与案例分析--第二、三章(总结待续)
- 黑马程序员-day22其他流对象
- jsp九大内置对象及解析
- 定制Eclipse的Content assist(代码补全),比如空格键 "="键不上屏
- jquery操作节点属性attr