当前位置: 首页 > news >正文

专门做摩托车的网站可视化前端开发工具

专门做摩托车的网站,可视化前端开发工具,宿迁市建设局网站维修基金,主机屋做网站视频文章目录前言命名规范说明版式风格内存管理与智能指针关于UML前言 这是一个基于lightdm、glibc、gobject、gtk、qt、glibc、x11、wayland等多个高质量开源项目总结而来的规范。 glibc处于内核态与用户态的边界,承上启下,对用户的体验影响非常大。其在系…

文章目录

  • 前言
  • 命名规范
  • 说明
  • 版式风格
  • 内存管理与智能指针
  • 关于UML

前言

这是一个基于lightdm、glibc、gobject、gtk、qt、glibc++、x11、wayland等多个高质量开源项目总结而来的规范。

glibc处于内核态与用户态的边界,承上启下,对用户的体验影响非常大。其在系统中的层次相当于windows系统中的vc,绝大部分Linux发行版本都依赖它。

这套程序设计规范是吸收qt的长处与gtk/boost的长处整合的程序设计规范。systemd以及其系列组件诸如d-bus、lightdm、gobject、gtk都使用的这套规范。

function不在类中叫函数,在类中叫方法。

命名规范

项目关键字大写下划线前缀
define全大写单词之间
常量const全 大写单词之间
局部变量local variable全小写词组之间基本数据类型,指针无
枚举enum首字母大写词组之间
枚举成员enum member全大写单词之间枚举名单词首字母拼接
命名空间namespace全小写词组之间
class首字母大写词组之间
成员方法class method全小写,构造、析构除外词组之间
成员变量class method全小写词组之间m_,非指针再加基本数据类型
结构体struct首字母大写词组之间
结构体成员sturct member全小写词组之间
函数function全小写词组之间
C属性函数C property全小写词组之间get_/set_
C++属性函数C++ property全小写词组之间

说明

  1. C++属性方法不加前缀,利用方法重载,get属性方法原则上加inline修饰符,代码写在H文件。
  2. 基本数据类型前缀
    1. 字符串z,包括char指针、字符串对象。字符串对象的指针不是基本数据类型
    2. 整型i,包括无符号,包括长整型、短整型和超长整型。
    3. 浮点型f,包括单精度、双精度,包括无符号,包括长浮点型。
  3. 方法或函数名、非局部变量名严禁全名就是缩写,缩写部分必须是行业公认的名词,严禁自行创造。缩写对应的注释中必须注明缩写全称。
  4. 拼音可代替英文词组,严禁拼音缩写。
  5. 局部变量允许缩写,前提是局部变量所在上下文环境代码小于30行,同时须在注释中写明全称。最好补充写明含义。
  6. 指针是复合数据类型。
  7. 不允许用一句话的全部英语单词串联起来命名一个变量。命名要直击一句话的核心,善于利用含义相似或相近的变量之间差别部分来命名变量。关键还是见多识广,知识范围不狭獈。要了解软件要实现的业务功能中的行业知识,用行业术语或关联性很强的名词命名。

版式风格

总体上采用astyle支持的--style=kr-A3格式,总结如下:

  1. 缩进用4空格,不用制表符
  2. 方法花括号独占一行,其它花括号左缩进,右独占一行
  3. 运算符左右各空一格
  4. 逗号右边空一格
  5. 左圆括号仅最外层左边空一格,右圆括号仅最外层右边空一格
  6. 一行代码最长120个字符,超长换行:
    1. 首先参数换行,对齐到方法名
    2. 其次返回值类型换行,方法名与返回值类型都对齐到最左侧
  7. 流程控制语句只有一行的情况不用花括号

以上处理仅处理字符对代码语义起作用的情况,注释、字符串值除外。

内存管理与智能指针

  1. C++内存管理模式不再适用谁使用,谁申请,谁释放原则。传统的内存管理模式适合C语言,它忽视了智能指针的作用,极大的阻碍程序设计,造成诸多不便。传统模式不支持智能指针,一句代码的逻辑要拆成三句完成,还得小心程序逻辑造臧的内存泄露问题,比如C语言中提前return造存的指针没释放的问题,C++可利用智能指针对象的生命周期在析构函数中释放。C需要goto,C++一般不使用goto。

  2. C++很多场景下不能区分管理者与使用者的逻辑边界,比如循环体中使用了继承同一个父类型的不同类型的对象的指针。构造函数增加const标记给指针类型的成员变量造成麻烦。一个类的对象对另一个类的对象的引用,如果不能明确两者的生命周期的长短,那么使用裸指针就会造成野指针的问题。这个问题延伸到多线程的场景下无解。智能指针对象造成的额外的存储和计算资源的开销对程序的整体性能的影响是有限的,可以忽略不计的。因此没有特殊情况一律禁止使用祼指针,做好第三方接口中祼指针的存储管理。

  3. 智能指针本身就是为了程序设计有别于C语言,它变革的目标就是内存管理。内存池设计更是如此。因此C++接口不要像C一样设计用于输出对象数据的入口参数。输入参数、返回值都可用的智能指针。在参数传递、返回值的接收过程中智能指针以引用的方式传递是重要的,避免不必要的指针引用计数、重复的的智能指针对象。智能指针不是指针,是包装指针的对象。对象指针不是对象,是指向对象的指针。

  4. 不涉及对象本身成员变量的修改的成员方法一律增加const标记,所有复杂数据类型的输入参数(含指针和智能指针)一律增加只读引用标记,所有输出参数增加引用标记,不增加只读标记。

关于UML

  1. 不管什么UML图,不管什么UML标准,画图重点要表达的是自己要表达的意思。
  2. 表达的范围要有边界,一般不把对第三方的引用画到图里面。
  3. 图不能比代码更复杂,细节张弛有度。对于流程图,描述重点算法为边界,其它的由一个过程框一笔带过。
  4. 不管别人说它标准不标准,自己能把它的意思讲清楚就是好图。
  5. 有一种陷阱是被各种UML标准搞得晕头转向,画图的人自己都说不清图表达的是要干什么。
作者:岬淢箫声
邮箱:zhtqs8@163.com
来源:https://caowei.blog.csdn.net/article/details/129211858
http://www.yayakq.cn/news/104052/

相关文章:

  • 做网站需要融资墨刀做网站
  • 长沙网站优化推广方案北京酷站科技有限公司
  • 网站建设属于技术服务wordpress首页只显示一篇文章
  • 上海建筑建材业门户网站代理公司注册上海
  • 昆明网站建设价目表孝感应城网站建设
  • 网站建设网上消费算在年费php做网站界面代码
  • php除了写网站吗有没有专门做衣服搭配的网站
  • 泉州建设公司网站济宁祥云网站建设
  • 网站管理主要包括哪些内容中国互联网协会投诉平台
  • 网站主页面布局怎么做电脑安装wordpress
  • 新塘网站seo优化中英文网站模板源码
  • 福建省中城建设工程有限公司网站永州做网站的公司
  • 好的网站域名网站开发用的是什么语言
  • 投资公司网站开发阿里云可以做网站吗
  • 2345浏览器官方网站动图制作网站
  • 寻花问柳一家专门做男人的网站余姚网站建设报价
  • 信息产业部网站备案查询网上超市商城
  • 网站推广公司需要多少钱怎么做有趣的微视频网站
  • 网站模版 源码东莞网站建设营销平台的
  • 大连平台网站建设以下哪个不属于网络营销的特点
  • 设计电子商务网站推荐几个用vue做的网站
  • 云主机搭建多个网站如何建设医院网站
  • 用六类网站做电话可以吗北京建站管理系统开发
  • 南昌微网站建设.网站建设的目标
  • .net 企业网站 模版广州建站平台哪家好
  • 松原市城乡建设局网站民企品牌建设
  • 无锡哪里建设网站如何建立网址
  • 湛江网站建设优化建站wordpress elegant
  • thinkphp 网站源码市场营销策划公司排名
  • 关于农产品电子商务网站的建设单机网页制作