盐城做网站哪家最好app网站排名

diannao/2025/10/14 0:33:11/文章来源:
盐城做网站哪家最好,app网站排名,网站如何留住客户,wordpress图片批量设置目录 前言 一、编程规范的作用 二、规范的三种形式 三、规范的内容 1. 基本原则 原则1-1 原则1-2 原则1-3 原则1-4 原则1-5 原则1-6 原则1-7 2. 布局 规则2-1-1 规则2-1-2 规则2-1-3 规则2-1-4 规则2-1-5 规则2-1-6 规则2-2-1 规则2-2-2 规则2-2-3 建议2…目录 前言 一、编程规范的作用 二、规范的三种形式 三、规范的内容 1. 基本原则 原则1-1 原则1-2 原则1-3 原则1-4 原则1-5 原则1-6 原则1-7 2. 布局 规则2-1-1 规则2-1-2 规则2-1-3 规则2-1-4 规则2-1-5 规则2-1-6 规则2-2-1 规则2-2-2 规则2-2-3 建议2-3-1 规则2-4-1 规则2-4-2 规则2-4-3 规则2-4-4 规则2-4-2 规则2-4-6 规则2-5-1 3. 注释 规则3-1 规则3-2 规则3-3 ​编辑 规则3-4 4. 命名规则 规则4-1 规则4-2 规则4-3 规则4-4 规则4-5 规则4-6 规则4-7 规则4-8 规则4-9 规则4-10 规则4-11 建议4-12 建议4-13 5. 变量、常量与类型 规则5-1 规则5-2 建议5-3 6. 表达式与语句 规则6-1 规则6-2 规则6-3 规则6-4 规则6-5         ​编辑 规则6-6 ​编辑 规则6-7 规则6-8 规则6-9 建议6-10 7. 函数与过程 规则7-1 规则7-2 规则7-3 规则7-4 规则7-5 建议7-6 建议7-7 建议7-8 建议7-9 8. 可靠性 规则8-1 规则8-2 规则8-3 规则8-4 规则8-5 规则8-6 规则8-7 规则8-8 建议8-9 9. 可测试性 规则9-1 规则9-2 规则9-3 10.断言与错误外理 规则10-1 规则10-2 规则10-3 前言 编码规范是成为一个优质程序员的重要一课它是编程的样式的模板。 为了跟大佬们一样写出简洁、可维护、可靠、可测试、高效、可移植的代码我参考网上的资料做了一个归类。 一、编程规范的作用 1.提高源程序的可读性和可维护性 2.降低错误的机会 3.提高源代码可重用性和质量 二、规范的三种形式 1.原则:编程时应该坚持的指导思想 2.规则:编程时必须遵守的约定 3.建议: 编程时必须加以考虑的约定 三、规范的内容 1. 基本原则 原则1-1 首先是为人编写程序其次才是计算机。 说明:这是软件开发的基本要点软件的生命周期贯穿产品的开发、测试、生产、用户使用、版本升级和后期维护等长期过程只有易读、易维护的软件代码才具有生命力。 原则1-2 保持代码的简明清晰避免过分的编程技巧。 简单是最美。保持代码的简单化是软件工程化的基本要求。不要过分追求技巧否则会降低程序的可读性。 原则1-3 所有的代码尽量遵循ANSI C标准 所有的代码尽可能遵循ANSI C标准尽可能不使用ANSI C未定义的或编译器扩展的功能。 原则1-4 编程时首先达到正确性其次考虑效率。 编程首先考虑的是满足正确性、健壮性、可维护性、可移植性等质量因素最后才考虑程序的效率和资源占用。 原则1-5 避免或少用全局变量 过多地使用全局变量会导致模块间的紧耦合违反模块化的要求 原则1-6 尽量遥免使用GOTO语句 原则1-7 尽可能复用、修正老的代码。 尽量选择可借用的代码对其修改优化以达到自身要求。 2. 布局 规则2-1-1 遵循统一的布局顺序来书写头文件#ifmndef 文件名 H(全大写) #defie 文件名 H 其它条件编译选项 #include(依次为标准库头文件、非标准库头文件)常量定义 全局宏 全局数据类型 类定义 模板 (template)(包括C中的类模板和函数模板) 全局函数原型 #endif 规则2-1-2 遵循统一的布局顺序来书写实现文件 文件头注释 #include(依次为标准库头文件、非标准库头文件)常量定义 文件内部使用的宏 文件内部使用的数据类型 全局变量 本地变量(即静态全局变量) 局部函数原型 类的实现全局函数局部函数 规则2-1-3 使用注释块分离上面定义的节 规则2-1-4 头文件必须要避免重复包含 规则2-1-5 包含标准库头文件用尖括号 包含非标准库头文件用双引号 规则2-1-6 遵循统一的顺序书写类的定义及实现 类的定义(在定义文件中) 按如下顺序书写: 公有属性公有函数保护属性保护函数私有属性私有函数 类的实现(在实现文件中) 按如下顺序书写: 构造函数析构函数公有函数保护函数私有函数 规则2-2-1 程序中一行的代码和注释不能超过80列 包括空格在内不超过80列 规则2-2-2 if、 else、 else if、 for、while、do等语句自占一行执行语句不得紧跟其后。不论执行语句有多少都要加{ } 规则2-2-3 结构型的数组、多维的数组如果在定义时初始化按照数组的矩阵结构分行书写。 建议2-3-1 在switch语句中每一个case分支和default要用{ }括起来{ }中的内容需要缩进。 规则2-4-1 不同逻辑程序块之间要使用空行分隔 规则2-4-2 多元运算符和它们的操作数之间至少需要一个空格。 规则2-4-3 关键字之后要留空格 if、for、while等关键字之后应留一个空格再跟左括号 ’(’以突出关键字 另外 sizeof 是关键字strlen 是函数 规则2-4-4 函数名之后不要留空格 函数名后紧跟左括号 ’(’以与关键字区别 规则2-4-2 不是行结束符号时其后要留空格 规则2-4-6 注释符与注释内容之间要用一个空格进行分隔 规则2-5-1 函数声明时类型与名称不允许分行书写 3. 注释 规则3-1 文件头部必须进行注释包括:.h文件、.c文件、.cpp文件、.inc文件、.def文件、编译说明文件.cfg等。 注释必须列出:版权信息、文件标识、内容摘要、版本号、作者、完成日期、修改信息等 规则3-2 函数头部应进行注释列出:函数的目的/功能、输入参数、输出参数、返回值、访问和修改的表、修改信息等。 说明:注释必须列出:函数名称、功能描述、输入参数、输出参数、返回值、修改信息等 规则3-3 包含在中代码块的结束处应加注释便于阅读。 特别是多分支、多重嵌套的条件语句或循环语句。 规则3-4 注释应与其描述的代码相近对代码的注释应放在其上方或右方对单条语句的注释) 相邻位置不可放在下面如放于上方则需与其上面的代码用空行隔开 4. 命名规则 规则4-1 标识符要采用英文单词或其组合便于记忆和阅读切总使用汉语拼音来命名。 标识符应当直观且可以拼读可望文知义避免使人产生误解。程序中的英文单词一般不要太复杂用词应当准确。 规则4-2 标识符的命名应当符合“min-lengt max-information”原则 较短的单词可通过去掉“元音”形成缩写较长的单词可取单词的头几个字母形成缩写一些单词有大家公认的缩写常用单词的缩写必须统一。协议中的单词的缩写与协议保持一致对于某个系统使用的专用缩写应该在某处做统一说明。 例如 temp 可缩写为 tmp ;flag 可缩写为 flg ;statistic 可缩写为 stat ;increment 可缩写为 inc ;message 可缩写为 msg ; 规则4-3 用正确的反义词组命名具有互斥意义的变量或相反动作的函数等 add / remove;begin / end;create / destroy;insert / delete;first / last;get / release;increment / decrementputget;lock / unlock ;open / close ;min / max;old / new;start / stop;source / target ;next / previous;show / hide;send / receive ;source / destination;cut / paste;up / down; 规则4-4 宏、常量名都要使用大写字母用下划线 _ 分割单词。 预编译宏定义使用下划线 _ 开始。 例如 DISP_BUF_SIZE、MIN_VALUE、MAX_VALUE  规则4-5 变量名长度应小于31个字符以保持与ANSI C标准一致。 不得取单个字符(如i、j、k等)作为变量名但是局部循环变量除外。 规则4-6 程序中局部变量不要与全局变量重名 尽管局部变量和全局变量的作用域不同而不会发生语法错误但容易使人误解。 规则4-7 使用一致的前缀来区分变量的作用域 变量活动范围前缀规范如下: 规则4-8 使用一致的小写类型指示符作为前缀来区分变量的类型。 规则4-9 完整的变量名应由前缀变量名主体组成变量名的主体应当使用“名词”或者“形容词  名词”且首字母必须大写。 例如 float g fValue; // 类型为浮点数的全局变量char *pcOldChar; // 类型为字符指针的局部变量char 规则4-10 结构名、联合名、枚举名由前缀T_开头。事件名由前缀EV 开头 规则4-11 类名采用大小写结合的方法。在构成类名的单词之间不用下划线类名在开头加上C类的成员变量统一在前面加m_前缀 建议4-12 尽量避免名字中出现数字编号如Value1、Value2等除非逻辑上的确需要编号 建议4-13 标识符前最好不加项目、产品、部门的标识 这样做的目的是为了代码的可重用性 5. 变量、常量与类型 规则5-1 宏定义中如果包含表达式或变量表达式和变量必须用小括号括起来。 宏定义中对表达式和变量使用括号可以避免可能发生的计算错误 正例: #define HANDLE(AB) (( A ) / ( B )) 反例: #define HANDLE(AB)  (A / B) 规则5-2 使用宏定义多行语句时必须使用把这些语句括起来。 在宏定义中对多行语句使用大括号可以避免可能发生的错误。 建议5-3 结构中元素的个数应适中。 若结构中元素个数过多可考虑依据某种原则把元素组成不同的子结构以减少原结构中元素的个数 6. 表达式与语句 规则6-1 一条语句只完成一个功能 规则6-2 在表达式中使用括号使表达式的运算顺序更清晰。 由于将运算符的优先级与结合律熟记是比较困难的为了防止产生歧义并提高可读性即使不加括号时运算顺序不会改变也应当用括号确定表达式的操作顺序。 规则6-3 避免表达式中的附加功能不要编写太复杂的复合表达式。 规则6-4 不可将布尔变量和逻辑表达式直接与TRUEFALSE或者1、0进行比较。TURE和FALSE的定义值是和语言环境相关的且可能会被重定义的 规则6-5         在条件判断语句中当整型变量与0比较时不可模仿布尔变量的风格应当将整型变量用“”或“!”直接与0比较。 规则6-6 不可将浮点变量用“”或“!”上任何数字比较 规则6-7 应当将指针变量用“”或“!”与NULL比较 规则6-8 在switch语句中每一个case分支必须使用break结尾最后一个分支必须是default分支。 规则6-9 不可在for 循环体内修改循环变量防止for 循环失去控制。 建议6-10 循环嵌套次数不大于3次 7. 函数与过程 规则7-1 如果函数没有参数则用void填充 规则7-2 如果参数是指针且仅作输入用则应在类型前加const。 防止该指针在函数体内被意外修改 例如 int GetStrLen(const char *pcString): 规则7-3 不要省略返回值的类型如果函数没有返回值那么应声明为void类型 C语言中凡不加类型说明的函数一律自动按整型处理。如果不注明类型容易被误解为void类型产生不必要的麻烦C语言有很严格的类型安全检查不允许上述情况发生。由于C程序可以调用C函数为了避免混乱规定任何C/ C函数都必须有类型。 规则7-4 对于有返回值的函数每一个分支都必须有返回值。 为了保证对被调用函数返回值的判断有返回值的函数中的每一个退出点都需要有返回值。 规则7-5 防止将函数的参数作为工作变量 将函数的参数作为工作变量有可能错误地改变参数内容所以很危险。对必须改变的参数最好先用局部变量代之最后再将该局部变量的内容赋给该参数。 建议7-6 如果返回值表示函数运行是否正常规定0为正常退出不同非0值标识不同异常退出。避免使用TRUE或FALSE作为返回值 建议7-7 函数体的规模不能太大尽量控制在200行代码之内 建议7-8 减少函数本身或函数间的递归调用 递归调用特别是函数间的递归调用 (如A-B-C-A),影响程序的可理解性递归调用一般都占用较多的系统资源(如栈空间) ;递归调用对程序的测试有一定影响。故除非为某些算法或功能的实现方便应减少没必要的递归调用。 对于前台软件为了系统的稳定性和可靠性往往规定了进程的堆栈大小。如果采用了递归算法收敛的条件又往往难以确定很容易使得进程的堆栈溢出破坏系统的正常运行:另外,由于无法确定递归的次数降低了系统的稳定性和可靠性。 建议7-9 设计高扇入、合理扇出的函数 扇出是指一个函数直接调用(控制) 其它函数的数目而扇入是指有多少上级函数调用它。 扇出过大表明函数过分复杂需要控制和协调过多的下级函数:而扇出过小如总是1表明函数的调用层次可能过多这样不利于程序阅读和函数结构的分析并且程序运行时会对系统资源如堆栈空间等造成压力。函数较合理的扇出(调度函数除外) 通常是3-5。扇出太大一般是由于缺乏中间层次可适当增加中间层次的函数。扇出太小可把下级函数进步分解成多个函数或合并到上级函数中。当然分解或合并函数时不能改变要实现的功能也不能违背函数间的独立性。 扇入越大表明使用此函数的上级函数越多这样的函数使用效率高但不能违背函数间的独立性而单纯地追求高扇入。公共模块中的函数及底层函数应该有较高的扇入。 8. 可靠性 规则8-1 在程序编制之前必须了解编译系统的内存分配方式特别是编译系统对不同类型的变量的内存分配规则如局部变量在何处分配、静态变量在何处分配等。 规则8-2 防止内存操作越界 内存操作主要是指对数组、指针、内存地址等的操作内存操作越界是软件系统主要错误之一后果往往非常严重所以当我们进行这些操作时一定要仔细。 规则8-3 必须对动态申请的内存做有效性检查并进行初始化;动态内存的释放必须和分配成对以防止内存泄漏释放后内存指针置为NULL。 对嵌入式系统通常内存是有限的内存的申请可能会失败如果不检查就对该指针进行操作可能出现异常而且这种异常不是每次都出现比较难定位。指针释放后该指针可能还是指向原有的内存块可能不是变成个野指针一般用户不会对它再操作但用户失误情况下对它的操作可能导致程序崩溃。 规则8-4 不使用realloc()。 调用realloc对一个内存块进行扩展导致原来的内容发生了存储位置的变化 realloc函数既要调用free又要调用malloc。执行时究竟调用哪个函数取决于是要缩小还是扩大相应内存块的大小 规则8-5 变量在使用前应初始化防止未经初始化的变量被引用。 不同的编译系统定义的变量在初始化前其值是不确定的。有些系统会初始化为0而有些不是 规则8-6 指针类型变量必须初始化为NULL 规则8-7 指针不要进行复杂的逻辑或算术操作。 指针加一的偏移通常由指针的类型确定如果通过复杂的逻辑或算术操作则指针的位置就很难确定 规则8-8 如果指针类型明确不会改变应该强制为const类型的指针以加强编译器的检查 可以防止不必要的类型转换错误。 建议8-9 C程序中分配内存使用new和delete而不使用malloc和free。 new和delete操作由编译器决定具体分配和释放内存的大小相对于malloc和firee更为高级 9. 可测试性 规则9-1 在同一项目组或产品组内为准备集成测试和系统联调要有一套统一的调测开关及相应信息输出函数并且要有详细的说明统一的调试接口和输出函数由模块设计和测试人员根据项目特性统一制订由项目系统人员统一纳入系统设计中 规则9-2 在同一个项目组或产品组内调测打印出的信息串要有统一的格式。信息串中应当包含所在的模块名(或源文件名) 及行号等信息。 规则9-3 在编写代码之前应预先设计好程序调试与测试的方法和手段并设计好各种调测开关及相应测试代码(如打印函数等) 程序的调试与测试是软件生存周期中非常重要的一个阶段如何对软件进行较全面、高效率的测试并尽可能地找出软件中的错误就成为非常关键的问题。因此在编写源代码之前除了要有一套比较完善的测试计划外还应设计出一系列测试代码作为手段为单元测试、集成测试及系统联调提供方便 10.断言与错误外理 规则10-1 整个软件系统应该采用统一的断言。如果系统不提供断言则应该自己构造一个统一的断言供编程时使用。 规则10-2 指向指针的指针及更多级的指针必须逐级检查 规则10-3 正式软件产品中应把断言及其它调测代码去掉 (即把有关的调测开关关掉 ) 加快软件运行速度。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/92706.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

个人网站注册费用家在深圳歌词

企业绩效评价体系是指由一系列与绩效评价相关的评价制度、评价指标体系、评价方法、评价标准以及评价机构等形成的有机整体。企业的评价系统大致可以分为以下四个层次: 第一、岗位评价系统,主要针对不同岗位之间的评估。例如,企业中一般业务…

南京网站建设的公司永州网站建设公司推荐

seismicunix基础-声波波动方程推导 接触波动方程的研究人员都绕不开这个公式,这是在一维状态下波动方程 但是对于这个方程是怎样来的很少有人能说清楚,其中涉及到牛顿第二运动定律,物体的加速度与受到的力有关。 假设一维弦是大量紧密连接的质…

东莞网站设计建设网站做seo

在当前信息化时代,运营商的业务流程复杂度和多样性持续增长,多个系统、部门以及相关事务需要进行高效准确的调度。如何在这样的背景下,保证业务流程的顺畅,业务信息的实时传递以及业务决策的准确性,是业务运营面临的重…

中国建材工程建设协会网站带动画的网站模板

现在看明白了自己的距离,该从何处下手? 时间是怎么争取出来的?转载于:https://www.cnblogs.com/rosion/archive/2009/04/11/1433450.html

可信网站认证 服务中心陕西防疫最新政策

一、实验目的 通过该实验掌握较复杂的SQL 查询数据库方法&#xff0c;包括嵌套查询&#xff0c;相关与不相关子查询&#xff0c;连接的多种方法等。 二、实验原理 数据库查询是数据库的核心操作。SQL语言提供了SELECT语句进行数据库的查询。 SELECT[ALL|DISTINCT]<目标列表达…

搭建网站建设盘锦网站制作

一、有限状态机&#xff08;Finite State Machine&#xff0c;FSM&#xff09;是表示有限个状态及在这些状态之间的转移和动作等行为的数学模型&#xff0c;在计算机领域有着广泛的应用。FSM一个常见的应用就是用来负责Parser复杂的数据结构&#xff0c;比如解释URI协议&#x…

那个做兼职网站好规划电子商务网站流程

不要因为小小的失败而放弃大大的梦想&#xff0c;每一次坚持都是通向成功的一步。- 马克吐温 1. 定位 1.1 为何使用定位 我们先来看一个效果&#xff0c;同时思考一下用标准流或浮动能否实现类似的效果&#xff1f; 场景1: 某个元素可以自由的在一个盒子内移动位置&#xff0c…

特色的重庆网站推广有什么简单的网站项目

Web service 接口测试 一. web Service概念 Web service使用与平台和编程语言无关的方式进行通讯的一项技术, web service 是一个接口, 他描述了一组可以在网络上通过标准的XML消息传递访问的操作,它基于xml语言协议来描述要执行的操作或者要与另外一个web 服务交换数据, 一组…

网站三大标签修改注意事项网站怎么做seo、

前言&#xff1a;效果是鼠标移入空白区域&#xff0c;边框高亮的效果。效果是在douyin的渡一教育袁老师的课程学习到的&#xff0c;观看以后是一个实用的小特效。想看的可以平台查询&#xff0c;自己也学到了知识。 <!DOCTYPE html> <html lang"en"> <…

网站源码破解版高端网站建设费用

演示案例&#xff1a; 数据猜解-库表列数据&字典权限操作-文件&命令&交互式提交方法-POST&HEAD&JSON绕过模块-Tamper脚本-使用&开发分析拓展-代理&调试&指纹&风险&等级 #参考&#xff1a; https://www.cnblogs.com/bmjoker/p/9326258.…

南昌网站开发技术单位制作网站备案

本系列解析usbseiral ko的源码&#xff0c;记录主要函数&#xff0c;调用流程&#xff0c;USB一端和串口一端的注册流程&#xff0c;本节简介主要函数以及替换规则。 首先&#xff0c;usbserial是USB转串口驱动的一个基础模板&#xff0c;其中有许多默认函数&#xff0c;他们的…

网站发外链百度搜索排行

1 暴力破解简介 暴力破解&#xff1a; 蛮力攻击&#xff0c;又称为穷举攻击&#xff0c;或暴力破解&#xff0c;将密码进行逐个尝试验证&#xff0c;直到尝试出真正的密码为止。 暴力破解是指采用反复试错的方法并希望最终猜对&#xff0c;以尝试破解密码或用户名或找到隐藏的…

网站的seo 如何优化传奇网站怎么做

原文链接&#xff1a;https://medium.com/airbnb-engineering/avoiding-double-payments-in-a-distributed-payments-system-2981f6b070bbAirbnb一直在将其基础架构迁移到面向服务的体系结构(SOA)。 SOA具有许多优势&#xff0c;例如使开发人员能够专业化并具有更快迭代的能力。…

郑州汉狮做网站网络公司网站seo多少钱

Java微服务篇2——SpringCloud 1、微服务架构 1.1、单体应用架构 的⽤户量、数据量规模都⽐较⼩&#xff0c;项目所有的功能模块都放在一个工程中编码、 编译、打包并且部署在一个Tomcat容器中的架构模式就是单体应用架构&#xff0c;这样的架构既简单实 ⽤、便于维护&#…

投资网站策划wordpress 邮件插件

Linux renice命令介绍 renice命令在Linux中用于修改已经运行的进程的优先级。这个命令允许你改变一个已经运行的进程的调度优先级。如果我们给一个进程设置了更高的优先级&#xff0c;那么内核将为该进程分配更多的CPU时间。 Linux renice命令适用的Linux版本 renice命令在所…

怎样做付费下载的网站各大电商平台的销售数据

一、概要本篇文章主要分享使用TaskbarItemInfo对象&#xff08;WPF&#xff09;在window操作系统的任务栏中同步任务进度的功能。什么是TaskbarItemInfo对象&#xff1f;TaskbarItemInfo类为 Windows 7 任务栏功能提供托管包装。有关 Windows shell 和本机任务栏 Api 的详细信息…

自己怎么做简单的网站彩票网站开发. 极云

类结构Closure {/* 方法 */// 用于禁止实例化的构造函数__construct ( void )// 复制一个闭包&#xff0c;绑定指定的$this对象和类作用域。public static Closure bind ( Closure $closure , object $newthis [, mixed $newscope static ] )// 复制当前闭包对象&#xff0c;绑…

城口自助建站做网站的软件m开头

一年国庆又到&#xff5e;程序猿、运维工程师、利用假期该结婚的结婚&#xff0c;该回老家的回老家。产品经理、项目经理们也要出国旅游了(好像这次是去东京玩)&#xff0c;并且叮嘱一定要安排好值班表。我是个程序员&#xff0c;我也想出国旅游&#xff0c;却觉得有点儿贵。多…

锡盟本地网站建设云虚拟主机和云服务器有什么区别

MSK 在数字调制中&#xff0c;最小频移键控&#xff08;Minimum-Shift Keying&#xff0c;缩写&#xff1a;MSK&#xff09;是一种连续相位的频移键控方式&#xff0c;在1950年代末和1960年代产生。与偏移四相相移键控&#xff08;OQPSK&#xff09;类似&#xff0c;MSK同样将…

广东网站设计公司价格邢台网站建设邢台

一:技术体系架构二:SpringFramework介绍三:Spring loC容器和核心概念3.1 组件和组件管理的概念3.1.1什么是组件:3.1.2:我们的期待3.1.3Spring充当组件管理角色(IOC)3.1.4 Spring优势3.2 Spring Ioc容器和容器实现3.2.1普通和复杂容器3.2.2 SpringIOC的容器介绍3.2.3 Spring IOC…