作业要求:https://edu.cnblogs.com/campus/nenu/SWE2017FALL/homework/993

代码规范文档/代码规范执行记录:https://coding.net/u/Dawnfox/p/f4/git/tree/master/doc

结对同学:袁玥

我和队友于2017/10/3确定四则运算作业的代码规范主要由三方面构成:格式、命名和注释。

一、格式

    A.  代码行数
(1) 代码文件不超过500行
(2) 函数的行数不超过50行
B. 换行
(1) 函数与函数之间空一行
(2) 函数内部变量声明与函数内部逻辑代码之间空一行
(3) 函数内部不同逻辑代码之间空一行
C. 大括号
“{”和“}”必须单独在一行上,且上下对齐。
D. 缩进
代码缩进一致使用Tab实现,规定Tab键宽度为4个字符,不建议使用空格进行缩进。
E. 空格
(1) 函数参数列表中不同参数之间应该用一个空格分开,即逗号后面应跟一个空格。如:
void updateData(int source, int target)
(2) for循环中表达式之间应该用一个空格分开,即分号后面应跟一个空格。如:
for(exp1; exp2; exp3)
(3)操作符与操作数之间应该用一个空格分开,一元操作符(例如自增“++”,自减“--”等)与操作符不作此限定。如:
a += b + c;
++a;

二、命名

变量主要分为类的公有和私有变量,方法的参数变量与内部使用的临时变量。
A. 变量的名称由多个名词单词或一个名词单词组成时,第一个单词首字母小写,其他单词首字母均大写。如makeRule。
B. 对于const常量,所有单词均大写,且单词之间由下划线”_”连接,如APP_NAME。
C. 函数名称的第一个单词首字母为大写的动词。如IsDir(是否为目录)。
D. 变量名和函数名能够表达它所具有的实际含义。如函数名IsDir表示输入路径是否为目录,res表示是判断的结果。

    E.  尽量避免单词缩写,即便它可能是众所周知的。

三、注释

    A.  只采用“//”作为注释符
B. 注释的位置
(1) 注释在被注释函数定义的顶部

        (2)	注释在函数内部变量声明的右边

        (3)	注释在函数内部逻辑代码的顶部

    C. 注释的内容
(1) 代码的功能

        (2)	对读者阅读代码时可能产生的疑问做解释,比如,该段代码使用了堆栈,为什么需要堆栈而并非数组,在此处代码部分给出注释

四、代码执行记录

规范项 情况记录 违反次数 待修订 已修订 备注0(是否对条款进行增强) 备注1(是否对条款进行消弱) 备注2(是否对条款进行废除)
格式.A.(1) 代码文件不超过500行 1 1 0 0 1 0
格式.A.(2) 函数的行数不超过50行 3 3 0 0 0 1
格式.B.(1) 函数与函数之间空一行 0 0 0 0 0 0
格式.B.(2) 函数内部变量声明与函数内部逻辑代码之间空一行 0 0 0 0 0 0
格式.B.(3) 函数内部不同逻辑代码之间空一行 2 0 2 0 0 0
格式.C “{”和“}”必须单独在一行上,且上下对齐 11 0 11 0 0 0
格式.D 代码缩进一致使用Tab实现,规定Tab键宽度为4个字符,不建议使用空格进行缩进 0 0 0 0 0 0
格式.E.(1) 函数参数列表中不同参数之间应该用一个空格分开,即逗号后面应跟一个空格 1 0 1 0 0 0
格式.E.(2) for循环中表达式之间应该用一个空格分开,即分号后面应跟一个空格 0 0 0 0 0 0
格式.E.(3) 操作符与操作数之间应该用一个空格分开,一元操作符(例如自增“++”,自减“--”等)与操作符不作此限定 0 0 0 0 0 0
命名.A 变量的名称由多个名词单词或一个名词单词组成时,第一个单词首字母小写,其他单词首字母均大写。如makeRule 0 0 0 0 0 0
命名.B 对于const常量,所有单词均大写,且单词之间由下划线”_”连接,如APP_NAME 0 0 0 0 0 0
命名.C 函数名称的第一个单词首字母为大写的动词。如IsDir(是否为目录) 0 0 0 0 0 0
命名.D 变量名和函数名能够表达它所具有的实际含义。如函数名IsDir表示输入路径是否为目录,res表示是判断的结果 0 0 0 0 0 0
命名.E 尽量避免单词缩写,即便它可能是众所周知的 3 0 3 0 0 0
注释.A 只采用“//”作为注释符 0 0 0 0 0 0
注释.B.(1) 注释在被注释函数定义的顶部 0 0 0 0 0 0
注释.B.(2) 注释在函数内部变量声明的右边 0 0 0 0 0 0
注释.B.(3) 注释在函数内部逻辑代码的顶部 0 0 0 0 0 0
注释.C.(1) 代码的功能 2 0 2 0 0 0
注释.C.(2) 对读者阅读代码时可能产生的疑问做解释,比如,该段代码使用了堆栈,为什么需要堆栈而并非数组,在此处代码部分给出注释 0 0 0 0 0 0
修订时间 版本
2017/10/11 0:00:00 V1.0

代码规范V1.1的更多相关文章

  1. 阿里官方Java代码规范标准《阿里巴巴Java开发手册 终极版 v1.3.0》

    终极版 v1.3.0 2017年开春之际,阿里诚意献上重磅大礼:<阿里巴巴Java开发手册>,首次公开阿里官方Java代码规范标准.这套Java统一规范标准将有助于提高行业编码规范化水平, ...

  2. Alpha冲刺——代码规范、冲刺任务与计划

    代码规范 作业描述 课程 软件工程1916|W(福州大学) 团队名称 修!咻咻! 作业要求 项目Alpha冲刺(团队) 团队目标 切实可行的计算机协会维修预约平台 开发工具 Eclipse 团队信息 ...

  3. 阿里官方Java代码规范标准

    阿里官方Java代码规范标准<阿里巴巴Java开发手册 终极版 v1.3.0>下载 https://www.cnblogs.com/han-1034683568/p/7680354.htm ...

  4. atitit.atiHtmlUi web组件化方案与规范v1

    atitit.atiHtmlUi web组件化方案与规范v1 1. 如何在现有html 标签基础上定义自己的组件1 2. 组件的构成与定义1 3. 组件的加载1 4. 组件css的加载2 5. 操作组 ...

  5. Web 前端开发代码规范(基础)

    一. 引言 对于一个多人团队来说,制定一个统一的规范是必要的,因为个性化的东西无法产生良好的聚合效果,规范化可以提高编码工作效率,使代码保持统一的风格,以便于代码整合和后期维护. 二. HTML/CS ...

  6. php代码规范->如何写出规范且易于理解的项目代码-ZX版

    2019年5月17日10:50:12 前序: 目前是想到哪写到哪,后面有时间在整理成具体文章 很多时候,PHP代码风格过于自由,导致一个项目有N多种写法风格,有些人为了自己认为的技术"高&q ...

  7. 代码规范、API设计等规范

    一份整理好了的规范文档,node后端开发用到 "规范是个好东西..." - 鲁迅 以下规范仅作为参考 1.代码规范 命名 尽量保证命名更加语义化 文件命名采用下划线命名法 // g ...

  8. iOS代码规范(OC和Swift)

    下面说下iOS的代码规范问题,如果大家觉得还不错,可以直接用到项目中,有不同意见 可以在下面讨论下. 相信很多人工作中最烦的就是代码不规范,命名不规范,曾经见过一个VC里有3个按钮被命名为button ...

  9. 谈谈PHP代码规范

    [转] http://www.syyong.com/php/Talk-about-PHP-code-specification.html 我向往这样一个php世界,里面没有代码规范之争.你我都一样,都 ...

随机推荐

  1. Theano笔记

    scan函数 theano.scan(fn, sequences=None, outputs_info=None,non_sequences=None, n_steps=None, truncate_ ...

  2. linux下vmstat命令详解

    vmstat是Virtual Meomory Statistics(虚拟内存统计)的缩写,可对操作系统的虚拟内存.进程.CPU活动进行监控. 它能够对系统的整体情况进行统计,无法对某个进程进行深入分析 ...

  3. malloc用法整理

    malloc函数原型:void *malloc(unsigned int num_bytes); //分配长度为num_bytes字节的内存块 返回值是void指针,void* 表示未确定类型的指针, ...

  4. 未来Linux系统将是运维行业必备的技能之一

    关于linux,这个并不是每个人都能用或者需要用的,因为平时有很多人用电脑只是为了上上网,聊聊天,打打游戏,这个是完全不需要用linux的.关于linux,是不能用正常的大家所熟知的window来认知 ...

  5. day26-python操作redis二

    字符串的操作 #redis中的string 在内存中都是按照一个key对应一个valus来存储的 import redis pool = redis.ConnectionPool(host=" ...

  6. 顺便谈谈对于Java程序猿学习当中各个阶段的建议

    引言 其实本来真的没打算写这篇文章,主要是LZ得记忆力不是很好,不像一些记忆力强的人,面试完以后,几乎能把自己和面试官的对话都给记下来.LZ自己当初面试完以后,除了记住一些聊过的知识点以外,具体的内容 ...

  7. Alpha 冲刺 (6/10

    Alpha 冲刺 (6/10) 队名:第三视角 组长博客链接 本次作业链接 团队部分 团队燃尽图 工作情况汇报 张扬(组长) 过去两天完成了哪些任务: 文字/口头描述: 1.组织会议 2.帮助队员解决 ...

  8. BOM浏览器操作对象

    BOM定义 一.定时器 1) 定时器1:setInterval() 2)一次性定时器 二.offset.scroll.client

  9. Array和ArrayList有什么区别?

    Array和ArrayList的区别: 1.Array可以包含基本数据类型和对象类型,而ArrayList只能包含对象类型 2.Array有固定的大小,而ArrayList是动态变化的. 3.Arra ...

  10. js中的变量作用域问题

    变量既可以是全局的,也可以是局部的. 全局变量可以在脚本的任何位置被引用.一旦你在脚本里声明了一个全局变量,就可以从这个脚本中的任何位置——包括函数内部引用它.全局变量的作用域是整个脚本. 局部变量只 ...