搜索
查看
编辑修改
首页
UNITY
NODEJS
PYTHON
AI
GIT
PHP
GO
CEF3
JAVA
HTML
CSS
搜索
空白诗007
这个屌丝很懒,什么也没留下!
关注作者
热门标签
jquery
HTML
CSS
PHP
ASP
PYTHON
GO
AI
C
C++
C#
PHOTOSHOP
UNITY
iOS
android
vue
xml
爬虫
SEO
LINUX
WINDOWS
JAVA
MFC
CEF3
CAD
NODEJS
GIT
Pyppeteer
article
热门文章
1
System.Data.Odbc.OdbcException (0x80131937): ERROR [IM002] [Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认_system.data.odbc.odbcexception hresult=0x80131937
2
每个电子工程师都埋藏着一颗游戏的心
3
分布式数据同步工具Datax的部署与使用——datax部署
4
人工智能时代下的程序员:影响与思考_人工智能编程对程序员的影响
5
调度的艺术:Eureka在分布式任务调度中的妙用
6
mongodb 导入导出_mongogdb 倒入
7
【鸿蒙开发】快速上手鸿蒙OS开发_arkts文本阅读器
8
从零到一:Python自动化测试的详细指南!
9
清华2019最新AI发展报告出炉!400页干货,13大领域一文看懂_数字人才 h-index
10
深度学习在移动端的应用_移动端深度学习
当前位置:
article
> 正文
软件开发编码规范总结_软件开发规范
作者:空白诗007 | 2024-07-16 02:05:35
赞
踩
软件开发规范
意 义
1. 一个软件的生命周期中,80%的花费在于维护,代码规范降低了金钱成本和时间成本;
2. 几乎没有任何一个软件,在其整个生命周期中,均由最初的开发人员来维护,代码规范减少了工作交接过程中的交流成本。
3. 规范可以改善软件的可读性,可以让程序员尽快而彻底地理解新的设计和代码,节约了时间,提高了工作效率。
4. 良好的编码规范可以有效避免一些低级错误,赢得同事的夸奖和上司的认可。
目 的
1.统一规范,方便阅读、维护,提高代码质量
2. 统一格式,使代码度量更加精确,为公司软件过程体系优化打好基础,为后续交接工作提供依据。
一、命名规范
名字应该能够标识事物的特性,并且与业务挂钩。
名字一律使用英文单词,而不能为拼音。
名字可以有两个或三个单词组成,但不应多于4个,控制在3至30个字母以内。
命名避免和关键字冲突
方法名、参数名、字段和变量统一使用Camel命名法,除首字母外,其他单词的首字母大写,剩余字母小写。
枚举、属性、类名和委托统一使用Pascal命名法,所有单词首字母都大写。
常量禁止缩写,采用完整大写
二、注释原则
一般情况下,源程序的有效注释量必须在30%以上。
避免使用装饰性内容,保持注释的简洁。
注释信息不仅要包括代码的功能,还应给出原因,不要为注释而注释。
除变量定义等较短语句的注释可用行尾注释外,其他注释当避免使用行尾注释。
注释不能嵌套
生成开发文档的需要用中文编写
如果需要注释的内容太多,需附加文档进行说明, 注释时加上"参见《****》"
距离较远的}必须注释
复杂的分支流程必须注释
代码质量不高但能正常运行,或者还没有实现的代码用//TODO:声明
存在错误隐患的代码用//FIXME:声明
三、编码风格规则
代码未写,文档先行,注释必须按照固定统一范式撰写。
关系运算必须常量在左、变量在右。
不许使用复杂的运算表达式,必要时添加括号而不依赖于优先级。
魔鬼数字需用宏定义替代。
局部变量必须初定义、避免不必要的内存操作、内存操作必须考虑异常处理
四、版本管理规则
项目中,每个任务在完成一个稳定的版本后,都应打包并且归档。源码包的版本号由圆点隔开的两个数字组成,第一个数字表示发行号,第二个数字表示该版的修改号。具体用法如下:
当源码包初版时,版本号为 V1.00;
当源码包被局部修改或bug修正时,发行号不变,修改号第二个数字增1。例如,对初版源码包作了第一次修订,则版本号为 V1.01;
当源码包在原有的基础上增加部分功能,发行号不变,修改号第一个数字增1,例如,对V1.12版的基础上增加部分功能,则新版本号为 V1.20;
当源码包有重要修改或局部修订累积较多导致源码包发生全局变化时,发行号增1。例如,在 V1.15 版的基础上作了一次全面修改,则新版本号为 V2.00。
本文内容由网友自发贡献,转载请注明出处:
https://www.wpsshop.cn/w/空白诗007/article/detail/831870
推荐阅读
article
软件测试
这个行业
能干
到
多少岁
?_
软件测试
能干
到
多少岁
...
所以,一个职业能做
到
多少岁
?取决于你自己。_
软件测试
能干
到
多少岁
软件测试
能干
到
多少岁
前...
赞
踩
article
宇宙
最初
几微秒...
在最近的原子核对撞实验中,物理学家复制出
宇宙
诞生
最初
几微秒内的环境。他们惊奇地发现,当时充斥
宇宙
的,并不是理论学家先前推...
赞
踩
article
【小沐学
AI
】
Google
AI
大
模型
的一点点学习(
Python
)_
python
学习ai大
模型
...
本文介绍了
Google
的最新
AI
技术,如Gemini(取代Bard)的强大功能,PaLM的优化,以及如何利用Vertex...
赞
踩
article
Android
通讯录
数据库介绍与
基本操作
(增删改查)(1)_
android
studio
通讯录
增删改...
在这里我和身边一些朋友特意整理了一份快速进阶为
Android
高级工程师的系统且全面的学习资料。涵盖了
Android
初级—...
赞
踩
article
TCP
是
什么
、
UDP
是
什么,它们有什么区别...
TCP
是
互联网上广泛使用的协议,它为各种应用层协议(如HTTP
、
FTP
、
SMTP等)提供了可靠的
、
基于连接的传输服务。在...
赞
踩
article
探索
数据
的无限可能:
Open
Distro
for
Elasticsearch
开源
之旅...
探索
数据
的无限可能:
Open
Distro
for
Elasticsearch
开源
之旅项目地址:https://git...
赞
踩
article
FPGA
常用
通信
协议
之
UART
_
fpga
中
的
常见
协议
...
目录1、概述2、基于
FPGA
的
UART
串口设计实践2.1需求分析3、RS232接口
的
可靠传输方法4、参考文献1、概述UA...
赞
踩
article
pygame
实现
俄罗斯
方块
小游戏
_
pygame
俄罗斯
方块
存放
方块
儿...
pygame
实现
俄罗斯
方块
小游戏
_
pygame
俄罗斯
方块
存放
方块
儿
pygame
俄罗斯
方块
存放
方块
儿 ...
赞
踩
article
THS4551IDGKT
TI
德州仪器
芯片...
THS4551IDGKT
是一款高性能、低噪声的宽带运放,适用于高速数据采集、通信系统、测试和测量设备等应用。它具有宽带宽...
赞
踩
article
逻辑
回归
(
Logistic
Regression
)详解
(
终极全)_logisticregressio...
逻辑
回归
是一种常用的分类算法,通过应用线性模型和
逻辑
函数,将线性模型的输出转化为概率值,并用于分类预测。它基于线性
回归
的...
赞
踩
article
浏览器
不
开梯子无法上网,
检查
代理
或
防火墙
或者找
不
到
服务器
ip地址_
无法访问
此网站,
检查
代理
服务器
和防...
(小白)如果
不
知道怎么ping看下面,win+R,输入cmd点击确定打开命令窗口,输入ping www.baidu.co...
赞
踩
article
Spring
Cloud
Gateway
微
服务
新一代网关_微
服务
网关...
本文目录:写在开头 1.为什么选择
Gateway
2.
Gateway
是什么 2.1 GateWay 具有的特性 2...
赞
踩
article
Armitage
的
安装
与配置_
armitage
管理工具
...
本文详细介绍了
Armitage
,一款基于Metasploit的网络渗透测试工具,涉及
安装
与配置、工作界面、生成被控端与主...
赞
踩
article
海洋
石油
平台
结构
的动力
分析
_
spopt
,
psd
...
《ansys
结构
有限元高级
分析
方法与范例应用》----尚守信 第十四章,
海洋
石油
平台
结构
的动力
分析
海洋
平台
的建模,下部...
赞
踩
article
一篇文章搞懂
数据仓库
:四种常见数据
模型
(
维度
模型
,
Python
算法面试题_
数据仓库
建模
...
本文探讨了
数据仓库
建模
的重要性,特别是
维度
建模
,包括星型
模型
、雪花
模型
和星座
模型
。星型
模型
由事实表和维表组成,以事实表为...
赞
踩
article
区块
链
python
...
初始
区块
链特点:
区块
链是由
区块
的记录构成的不可变,有序的...
赞
踩
article
2021
-6
东软
云HIS
医院
管理信息
系统
V3.0-
系统
功能架构(门诊
需求
)_
东软
云
his
医院
平台教程...
医院
管理
系统
东软
实训为期二十天,以下是
东软
项目
系统
功能架构由于实现时间的限制,本次的实训只完成医疗服务部分的门诊
需求
这次...
赞
踩
article
vue
+
element
表格
的列
隐藏
_
jeesite
vue
如何使
序号
列不
显示
...
element
表格
列
隐藏
有时候在同一个页面加载同一个
表格
,但是
表格
的表头字段不一样,那么我们就可以用
vue
的v-if指令...
赞
踩
article
MISRA
C
语言
编程
规范
良好
的
C
语言
编程
习惯 提高c
语言
代码质量_1
bit
长度
的
有符号位域...
本文章
是
基于Misra
C
coding stardand写
的
,因为原文
是
技术书,所以我在这里用我
的
理解给大家解释一下。...
赞
踩
article
数据结构
线性表之循环链表和双向链表_
status
listlnsert
-
dul
(
dul
inklist...
/结点数据 struct DuLNode * prior;//指向前一个结点 struct DuLNode * next...
赞
踩
相关标签
软件测试
接口测试
自动化测试
测试工程师
性能测试
人工智能
python
google
gemin
gemma
bard
palm
android
数据库
unix
tcp/ip
网络
pygame
开发语言
5G
单片机
嵌入式硬件
物联网
逻辑回归