程序三部曲

从阅读别人家的代码,到调试别人家的代码,再到编写自己家的代码,调试自己家的代码。这是一种蜕变,更是一次畅游程序界的旅行。

一、高效阅读程序代码

阅读代码是程序猿必须掌握的技能之一,对于很多没有程序设计基础的猿们而言,那浩瀚如烟的代码犹如天书一般,让人望而生畏。

代码和文字,都是作者思想的间接表达,于是乎,读代码和读书,本质上是一样的。 1.整体把握法

  • 阅读C++代码的顺序

预处理头文件

各函数声明

主函数

{

主函数体

}

各函数定义

以上是一个函数的程序结构,如果从头至尾地读,多半顾此失彼;明智一点的,应该先读主函数,遇到调用的地方,直接跳到调用函数。

  • 整体把握语意

对于代码中的函数,大部分只要了解它的功能即可,刨根问底的精神不值得称道。而了解函数或语句块的功能,大致有二:

1)、猜(优秀的程序员在给函数、变量以及参数起名的时候,会考虑到它们的实际含义。

2)、看注释(这一点尤其值得称道!

2.经验法

九个字:理清层次,寻找关键点。

3.模拟法

用大脑和笔按照代码的思路一步一步进行推演。

调试程序代码的技巧

是骡子是马,拉出来溜溜。代码搞定了,下一步自然就是调试,但指望他一击必胜,还是颇有难度的。调试的流程大致如下:

  • 编译
  • 连接
  • 运行
  • 测试

编译和运行统称编译阶段,需要检查语法错误;运行和测试统称运行阶段,需啊检查语义错误。

1.语法错误

编译器一目了然,无需作者亲自操刀。

2.语义错误

这种错误也分两种:

1)考虑不周或输入错误导致程序异常

2)程序设计思路错误导致程序异常

对付第一种,找出输入的错误或考虑临界情况的处理;对付第二种,少年,你得重新来过。

三、编写程序的技巧

能从头到尾写一段程序且运行成功,那是相当有成就感的;But,傻子才会从头到尾写。在庞大的程序帝国中,有一种人叫架构设计师,据江湖传言,他们彻底摆脱了语言的束缚,身兼百家之长,熟悉很多语言的精髓;知道软件发展趋势,会开发新一代产品或制订新一代产品的方案,知道各种软件产品特性。架构设计师会根据这些特性做出非常好的产品。另外,杰出的架构设计师具有创新技巧的本领。当然,吾辈还需付出相当大的努力才可与之匹敌,不过,先在脑海中种下这颗种子还是有必要的。

现实生活中的很多问题之所以能够用计算机来处理,是程序的功劳。程序=算法+数据结构。所以数学功底很重要!!!数据结构的扎实功底很重要!!!

而在所有计算机能够处理的问题中,大致分为三类:

算。比如说计算利润、计算方程根、数列的和。

找。找最大数、最短路径。

实现功能。比如撤销、重做、实现模拟某种操作的功能等。

1.算法实现

将实际问题转化为数学知识。

2.匹配实现

减小分支,缩小范围。

3.功能实现

找到相关的方法,力求正确、简洁、高效。对于约瑟夫环、汉诺塔等经典问题有深入的理解。此外,递归的精髓也要了解。

有了软实力,硬实力就得靠你扎实的积累了,为师只能帮你到这了。

你可能感兴趣的:(C++,语言)