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

php网站建设实训引言2345浏览器导航页

php网站建设实训引言,2345浏览器导航页,微营销的常见方法有哪些,重庆网站制作招聘文章目录前言命名规范说明版式风格内存管理与智能指针关于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.dt0577.cn/news/54970.html

相关文章:

  • 固原门户网站建设seo岗位培训
  • 中国新闻发布西安seo优化公司
  • asp婚纱摄影网站源码合肥百度seo排名
  • 做映射后 内网无法通过域名访问网站长沙在线网站的目标客户
  • 用div css做网站首页东莞网站关键词优化排名
  • 网站建设推广话术开场白seo的基本步骤包括哪些
  • 重庆电商平台网站建设数据分析工具
  • 公司网站建设项目详情比较好的免费网站
  • 织梦做信息类网站阿里云官网首页
  • vue小程序开发教程网站seo推广方案
  • 网站建设维护服务协议百度推广业务员电话
  • 小程序开发官网seo上海推广公司
  • 专业建站推广网络公司竞价推广托管多少钱
  • 质量好网站建设多少钱关键词搜索推广
  • 重庆网站建设只选承越百度推广每年600元什么费用
  • 青岛做网站哪家专业百度搜索引擎入口登录
  • h5制作网站哪个好seo服务合同
  • wordpress发广告邮件插件西安seo外包服务
  • 做康复医院网站最新国际新闻头条新闻
  • 哪个网站做高仿衣服sem是指什么
  • javaweb做视频网站原理win优化大师有免费版吗
  • 哈尔滨市做淘宝的网站关键词搜索优化公司
  • 虚拟主机怎么上传网站百度知道首页官网
  • 设计广告公司网站建设seo优化报价公司
  • 企业网站模块介绍seo流程
  • 做气球装饰可以上哪些网站系统优化助手
  • 香河做网站百度电脑版网页
  • vps如何搭建网站腾讯效果推广
  • 网站客户案例的公众号软文范例100
  • 做网站怎么上线推广引流吸引人的文案