欢迎来到天天文库
浏览记录
ID:34461412
大小:56.95 KB
页数:21页
时间:2019-03-06
《如何编写高质量的程序》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、如何编写高质量的程序前言 收藏编程能力对每一个深入计算机的人员来说,是一个必备的基础能力,我们可能学过很多的语言,很多的模式,很多的架构,但是,往往最基础的,也就是最容易忽略的。近日,在师兄的推荐下,我看了林锐博士的《高质量C/C++编程指南》,根据书中提到的经验结合自身编程实践,自感获益非浅,因此做了这篇笔记,希望自己能够随时巩固,更激励自己学着去思考去总结编程中发现的问题。但可惜的是,林锐博士这本书年代已经久远,我们期望他能有时间结合现在的新兴技术和语言加以总结,那就更好了。在此,我想再次感谢林锐博士和我的师兄。软件危机这个词汇,想必大家并不陌生。个人认为
2、关于解决软件危机的核心包括以下三个方面:提高软件的生产效率、提高软件质量和降低软件开发和维护的成本。用一句通俗的话来说就是用最少的代价获得最大的利益。围绕这一永恒的主题,有很多方法,从工程学、管理学乃至到最后的编程实现都有着一整套的科学方法,但是,对于广大的程序员来说,注意我们的编程细节,养成良好的编程习惯对保证软件质量是至关重要的。本文就是结合林锐博士的书加以总结。有人说,总结别人的东西有用吗?记得在高中的时候,我的数学老师说过一句话,对我启发和影响很大,在此和大家分享一下。“高手总能把厚书读薄,把薄书读厚!”谈到软件质量,有人不禁要问,具体从哪些方面来衡量
3、软件的质量呢?软件是一个摸不着看不见的东西,怎么来评价软件的质量的好坏?通常情况下,我们可以从正确性、健壮性、可复用性、可维护性、可读性、可扩展性、可移植性、兼容性、执行效率、易用性、通用性等各方面来考察。林锐博士从编程的第一步开始,慢慢展开,娓娓到来。我也想沿用他的思路来总结。 如何编写高质量的程序文件的结构管理 收藏第一章 文件的结构程序通常包含两类文件。一类文件用于保存程序的声明,称为头文件。另一个文件用于保存程序的实现,称为定义文件。个人以为,在使用java或C#这样的面向对象语言时,通常都是一个类做成一个文件。1.头文件的结构: (1)文件的版权、功
4、能、版本、历史说明;(2)预编译(处理)(3)函数和类的定义【规则】为了防止头文件被重复引用,应当用#ifndef/#define/#endif结构产生预处理块。【规则】用#include格式来引用标准库的头文件(编译器将从标准库目录开始搜索)。【规则】用#include“filename.h”格式来引用非标准库的头文件(编译器将从用户工作目录开始搜索)。2.定义文件的结构(1)文件的版权、功能、版本、历史说明;(2)包含文件处理include;(3)函数和类的实现;3.头文件的作用(1)很多情况下,只需要向用户提供头文件和二进制库这样
5、既有保护具体的实现代码功能,用户也有明确的接口信息。(2)头文件能够加强类型安全检查如果某个接口被实现或被使用时,其方式与头文件中的声明不一致,编译器就会指出错误,这一简单的规则能大大减轻程序员调试、改错的负担。4.目录结构一个程序包含的文件过多,通常应将头文件和定义文件分别保存于不同的目录,以便于维护。例如:例如可将头文件保存于include目录,将定义文件保存于source目录(可以是多级目录)。 如何编写高质量的程序程序的书写 收藏结构合理、代码清晰的程序总是能让人耳目一新,良好的程序书写习惯会使程序更易于阅读,当然,出现问题时,也容易调试。通常,程序
6、的书写习惯可以从以下几个方面加以培养:(1)代码书写要求 一行代码只完成一个功能 如果一行代码过长,一般需要拆分 一个函数体、一个类、或一个功能体完成后,加空行,这样可以使程序的结构清晰 合理使用空格提高程序的可读性 二元操作符号加空格 ‘,’之后要留空格,如Function(x,y,z) 如果‘;’不是一行的结束符号,其后要留空格 使用对齐和缩进提高程序的可读性(2)注释 每个程序员都曾经注释过,但是一个高质量的注释应该注意哪些问题呢? 注释通常用于: 版本、版权声明; 函数接口说明; 重要的代码行或段落提示。 虽然注释有助于理解代
7、码,但注意不可过多地使用注释 【规则】注释是对代码的“提示”,而不是文档。注释太多了会让人眼花缭乱。注释的花样要少。【规则】如果代码本来就是清楚的,则不必加注释。【规则】边写代码边注释,修改代码同时修改相应的注释,以保证注释与代码的一致性。【规则】注释应当准确、易懂,防止注释有二义性。错误的注释不但无益反而有害。【规则】尽量避免在注释中使用缩写,特别是不常用缩写。【规则】注释的位置应与被描述的代码相邻,可以放在代码的上方或右方,不可放在下方。【规则】当代码比较长,特别是有多重嵌套时,应当在一些段落的结束处加注释,便于阅读。 (3)类的版式 在面向对象的设计中,
8、类这个概念是核心。在书写类时,个人认为
此文档下载收益归作者所有