代码阅读方法与实践(一)

作为大三的学生,也算是已经写过两年的简单代码了,但是老师们还是经常强调我们的代码书写规范。而我自己也是有些许体会的,最起码的空格,回车,对齐,命名方式以及重要的注释。大一刚开始的时候就学习基础的C++语言,上课第一节老师就规定我们书写代码的格式,可那时候总觉得太过麻烦,格式麻烦,命名麻烦,注释更是懒得写,现在会过去看看自己当初写的代码竟是什么都看不懂了!现在我的习惯正在改正,使用VS2013也不必再担心格式问题,重要的思路,变量代表的含义,函数解决的问题都加以注释,这样不仅自己看着赏心悦目,与同学沟通交流的时候大家也能互相理解彼此的意思,也是增加了我们相互学习的效率。

软件工程是一门实践性很强的科目,许多内容往往在课堂上学不到,老师教给我们的总是比较基础的只是,就像是交给我们怎样打一栋大楼的地基,但是以后要怎么建,建设成什么样就要靠我们自己了!代码正是我们的一砖一瓦,代码中往往凝聚着许多实践性的知识,通过阅读代码才能真正软件开发的真谛。

这本书正是交给了我们怎样阅读别人的源代码。

读这本书我们主要达到(1)能够理解重要软件的代码;(2)领会许多重要的软件开发概念;(3)知道如何探索大型的代码体;(4)拥有大多数重要的高级、低级编程语言的阅读能力;(5)认识到现实软件项目的错综复杂性。

通过编码的风格不一致,结构不必要地复杂或难以理解,明显的逻辑错误或疏忽,过度使用不可移植的构造,缺乏维护识等别出低品质的代码。

多数情况下,代码阅读是一项自底向上的活动。编程的基本元素包括:函数和基本变量、while循环、条件和块、switch语句、for循环、breakcontinue语句、字符和布尔型表达式、goto语句、小范围重构、do循环和整形表达式;这些都是基础的元素,想要提高自己编的程序的质量就要引入高级C数据类型:指针、结构、共同体、动态内存分配、typedef声明;数据结构又包括:向量、矩阵和表、栈、队列、映射、集合、链表、树、图。

简要提下,for语句和do-while都可实现循环,可以与breakcontinuegoto 联合使用尽早跳出循环节省运行时间提高巡行小路;break可以跳出整个循环,continue可以跳出本次循环而继续下一个循环,goto我们不经常用,这也是初次接触,在阅读代码时,遇到标记和goto语句应该立即引起足够的重视。他们容易被误用,创造出“意大利面”式的代码:代码的控制流程难以跟踪和断定;指针一般用来构造链式数据结构、引用动态分配的数据结构、实现引用调用、访问和迭代数据元素、传递数组参数、引用函数、作为其他值得别名、代表字符串、直接访问系统内存;结构在C程序中将一般作为一个整体来使用的数据元素集合到一起,从函数中返回多个数据元素,构造链式数据结构,映射数据到硬件设备、网络连接和存储介质山的组织方式,实现抽象数据类型,以面向对象的方式编程;共用体可以有效的利用存储空间,实现多态,使用不同的内部表达方式对待护具惊醒访问;typedef用来声明创建新的数据类型名,typedef声明为一个已有的类型增加一个新的名称,或称替代名;栈简单的来说就是先进者后出,二队列则是先进者先出;C程序中中最简单的,也是最常用的链式数据结构是链表;树的正式定义表明:树的节点通过边连接到一起,从每个节点到树的根有且只有一条路,树的节点可以在每一层进行扩展,这种方式经常用来有效的组织和处理数据。

C++已经是大一的时候学的了,现在又翻出来看看,温故而知新,而且的翻书的过程中发现了很多自己不大清楚的名词,作为专业学生怎么可以基础这么差,不仅巩固了以前的知识,更是检查到了自己的漏洞。现在想想在做程序的时候一直在搜索当初的基础知识,虽然能够解得一时的困难,但这并不是长久之计,基础才是提升的本钱,在不断拓展自己知识面的情况下,更要加强自己的基础知识学习。

你可能感兴趣的:(代码阅读方法与实践(一))