良好的编程规范

制定编程规范的目的:1、保证代码的可读性    2、保证代码的维护性

如aa、 bb 之类的命名是不符合编程规范的,后期维护的过程中,面对成百上千的代码,很快便会不知道这些常量和变量的意义了,给后期维护带来的麻烦是不可小觑的

要体现代码之美,可以从以下方面改进:

1、代码简洁,避免冗余,要使代码统一,易于阅读,就要做到遵循严格的规范

  每个源程序文件都应有文件头说明

  每个函数都有函数头说明

  主要变量(结构、联合、类或对象)在定义或引用时,应添加能反映其含义的注释

  常量定义时应有相应的说明

  变量、常量和函数的命名都应一目了然

  处理过程的每个阶段应有相应的注释说明

  在典型算法前都有注释,一目了然的语句不加注释

  保持注释与代码完全对应

  利用缩进来显示程序的逻辑结构(缩进后的代码在后期维护时会结构清晰且易于维护)

2、使代码不受单一平台和编译器的制约,方便日后的移植,即增加适应性,这就要求开发的程序能在几乎所有的环境下都能成功的运行而不仅是局限于开发者的环境中,例如Web开发工程师就应该保证自己的程序能在类型繁多,版本繁多的浏览器中均能运行且不会造成兼容性问题。

3、保证基本安全,避免代码漏洞,意味着该软件在测试运行的过程中具备避免可能发生故障的能力,且一旦发生故障,能自我解除或排除故障,软件的可靠性必须在设计阶段就确定,在开发和测试阶段再考虑就困难了,同时,软件应有一定的健壮性和可扩展性,即软件对于规范要求以外的输入能够判断出这个输入不符合规范要求且有合理的处理方式,软件设计完成后要留有升级接口和升级空间,对扩展开放,对修改关闭。

时间: 2024-11-02 16:08:38

良好的编程规范的相关文章

华为C语言编程规范

DKBA华为技术有限公司内部技术规范DKBA 2826-2011.5C语言编程规范2011年5月9日发布 2011年5月9日实施华为技术有限公司Huawei Technologies Co., Ltd.版权所有 侵权必究All rights reserved密级:confidentiality levelDKBA 2826-2011.52011-06-02 华为机密,未经许可不得扩散 Huawei Confidential 第2页,共61页Page 2 , Total61修订声明Revision

Windows客户端C/C++编程规范“建议”——函数

1 函数 1.1 代码行数控制在80行及以内 等级:[要求] 说明:每个函数的代码行数控制应该控制在80行以内.如果超过这个限制函数内部逻辑一般可以拆分.如果试图超过这个标准,请列出理由.但理由不包含如下: 无法拆分. 流程内部逻辑复杂,无需拆分,即使拆分了,拆分的函数也不会被其他地方用到.(解释:拆分可以减少代码行数,提炼后的函数可以方便读者快速理解函数逻辑并定位问题.) 1.2 代码列数控制在100字符及以内 等级:[要求] 说明:每行代码不可以超过100字符.如果超过这个字符数,代码的美观

Windows客户端C/C++编程规范“建议”——指针

2 指针 2.1 尽量使用智能指针 等级:[推荐] 说明:正确使用智能指针可以省去指针管理的工作. 2.2 类成员变量指针释放后一定要置空 等级:[必须] 说明:如果类成员变量指针在释放后没有置空,将出现如下问题: a) 无法判断指针是否已经是野指针 b) Dump分析很难发现是野指针函数调用导致崩溃 2.3 正确使用delete和delete[] 等级:[必须] 说明:delete[]用于释放动态分配的数组,而delete用于释放对象.两者不可以混用. 2.4 使用指针前要判空 等级:[必须]

Windows客户端C/C++编程规范“建议”——函数调用

3 函数调用 3.1 谨慎使用递归方法 等级:[推荐] 说明:递归方式控制不当,可能会导致栈空间不够而崩溃.一般的递归都可以使用循环代替. 3.2 不要使用using namespace 等级:[必须] 说明:这是曾经教科书上的一种写法,但是该方法存在严重的缺陷.因为如果多个不同的namespace里定义了相同名字的变量或者函数.将导致无法预知和理解编译器最终使用的是哪个命名空间中的数据. 例子: //file1 namespace Space1{ int g_Private = 0; }; /

[转载]通达信插件选股(基于通达信插件编程规范的简单分析)

[转载]通达信插件选股(基于通达信插件编程规范的简单分析) 原文地址:通达信插件选股(基于通达信插件编程规范的简单分析)作者:哈尔滨猫猫 首先声明,鄙人是编程人员,不是股民.对选股概念了解甚少.本文仅作编程人员学习借鉴之用.不对选股理论进行探讨和解释. 以前有客户找我做过通达信插件选股的小任务,当时第一次接触面向接口(此类“接口”)编程,也是第一次接触到股票里相关的概念.最近由于接手一个任务,与上次开发相类似,故旧事重提,仔细研究一番.将个人学习研究所得知识与大家分享.在网上搜相关资料,可用的.

最佳11个PHP编程规范

个人原创网址:http://www.phpthinking.com/archives/375 从设计之初,PHP被广泛用于开发基于Web的应用程序. 由于PHP是一种脚本语言,开发的时候必须遵守一些规范. 本文将讨论常用的良好的代码习惯,或者称为代码规范,在PHP领域. 1,错误报告开启 错误报告是在PHP中一个非常有用的功能,应同时在开发阶段启用. 这可以帮助我们确定我们的代码中的问题. 最常用的功能是"E_ALL",这有助于我们发现所有的警告和严重错误. 必须指出的是,我们把我们的

对Google C++编程规范的理解和实践

1. #define保护 所有头文件都应该使用#define 防止头文件被多重包含(multiple  inclusion),命名格式为: <PROJECT>_<PATH>_<FILE>_H_ 为保证唯一性,头文件的命名应基于其所在项目源代码树的全路径.例如,项目foo 中的头文件 foo/src/bar/baz.h按如下方式保护: #ifndef FOO_BAR_BAZ_H_ #define FOO_BAR_BAZ_H_ ... #endif // FOO_BAR_B

多线程编程规范

规则1    指定线程名  用于查看线程信息 规则2    使用Thread对象的setUncaughtExceptionHandler方法注册Runtime异常的处理者(v1.5+) 说明:Java多线程程序中,所有线程都不允许抛出未捕获的checked exception,也就是说各个线程需要自己把自己的checked exception处理掉.但是无法避免的是unchecked exception,也就是RuntimeException,当抛出异常时子线程会结束,但主线程不会知道,因为主线

Windows客户端C/C++编程规范“建议”——前言

前言 工作中接触了很多编程规范.其中最有意思的是,公司最近发布了一版C/C++编程规范,然后我看到该规范的最后一段时,有这么一句:"该规范不适用于Windows平台开发".看来这份规范是由做其他平台开发的同学制定的.那么做Windows开发的人都去哪儿了?后来由于工作需要,项目组需要我制定一份编程规范.这也是我这系列博客的由来.(转载请指明出于breaksoftware的csdn博客) 说到"规范"",可能没多少人喜欢这样的东西.相信很多工程师和我一样,都

junit编程规范

Junit使用的一下编程规范 测试方法上必须使用@Test进行修饰 测试方法必须使用public void 进行修饰,不能带任何的参数 新建一个源代码目录 测试类的包应该和被测试类保持一致 测试单元中的每个方法必须可以独立测试,测试方法间不能有任何的依赖 测试类使用Test作为类名的后缀(非必须) 测试方法使用test作为方法名的前缀(非必须)