20200924-4 代码规范,结对要求
本次作业要求参见[https://edu.cnblogs.com/campus/nenu/2020Fall/homework/11244]
要求1 《代码规范》包括10项条款。
1.缩进
统一使用4个空格进行缩进。
2.空行
a) 模块级函数和类定义之间空两行;
b) 类成员函数之间空一行。
3.函数的参数列表
a) 函数的参数列表中’,’逗号之后要有空格;
b) 函数的参数列表中,默认值等号两边不要添加空格;
c) 左括号之后,右括号之前不要加多余的空格;
4.注释
a) 功能开头前使用注释描述功能作用
b) 一些关键代码使用注释描述关键代码作用
5.文件名
文件名使用帕斯卡命名法风格。(命名方法详细介绍在文末给出)
6、分号
不要在行尾加分号,也不要用分号将两条命令放在同一行。
7、函数和属性命名
a) 函数名函数的命名使用小写字母和下划线(小写字母开头)的方式,例如 get_user_name。
b) 方法的命名使用驼峰法,例如 getUserName
;
c) 属性的命名使用驼峰法,例如 tableName
、instance
;
8、行宽
每行代码尽量不超过 80 个字符。
a)如果此行带注释可以超过80字符,但不超过120个。
b)特别长的函数调用可以超过80字符。
9、变量名
变量名采用蛇形命名法风格,字母全小写。
10、常量名(废除,未使用常量)
常量名采用蛇形命名法风格,字母全大写。
11、括号(补充新条款)
在复杂的条件表达式中,用括号可以很清楚的表示逻辑优先级。
要求2 记录完成本周作业过程中,《代码风格规范》执行情况。包括记录每一条规则的违反和纠正、次数,规范中某项条款的增强、消弱、或废除。在编码过程中完全未被违反的条款,说明过于宽松,或你们已经完全"本能"反应,不应作为条款,在本要求及要求1中不得分。此种情况,应补充一条新的条款。 (20分)
规则 | 违规情况 | 变动情况 |
1 | 李思源违规3次,李虎违规1次,均提醒改正 | 规则有效,不变动 |
2 | 李思源违规2次,李虎违反1次,均提醒改正 | 规则有效,不变动 |
3 | 李思源违规13次,李虎违规2次,均提醒改正 | 规则有效,不变动,因为不熟悉python,无需削弱 |
4 | 李思源违规1次,李虎违规1次,均提醒改正 | 规则有效,不变动 |
5 | 李思源违规1次,李虎违规0次,已提醒改正 | 规则有效,不变动 |
6 | 李思源违规15次,李虎违规2次,均提醒改正 | 规则有效,不变动,因为不熟悉python,无需削弱 |
7 | 李思源违规4次,李虎违规0次,已提醒改正 | 规则有效,不变动 |
8 | 李思源违规1次,李虎违规1次,均提醒改正 | 添加几个特别情况,规则有效 |
9 | 李思源违规5次,李虎违规1次,均提醒改正 | 规则有效,不变动 |
10 | 无 | 规则废除,未使用常量 |
11 | 李思源违规3次,李虎违规1次,均提醒改正 | 规则有效,不变动 |
下面介绍一些常用命名方法。
约定一:驼峰命名法(camel case)
单词之间没有空格。除第一个单词外,每个单词都以大写字母开头。
例如:camelCase, myVariableName, myUrl, getUsers, eBay, iPhone
这可能是使用最广泛的约定。它可以在 JavaScript、Java、C++、C# 等语言中找到。
约定二: 帕斯卡命名法(Pascal case)
单词之间没有空格。每个单词都以大写字母开头。
举例:PascalCase, MyVariableName, MyUrl, GetUsers, PlayStation, MasterCard
这个惯例在 Pascal 编程语言中使用,或者在 PHP 中用来命名类。
约定三: 烤串命名法(Kebab case)
单词用小写,用连字符(-)连接。
举例:kebab-case, my-variable-name, my-url
推荐使用烤串命名法来编写 URL,以及为图片、PDF 和其它网络文件命名。它还常被用来命名 HTML 和 CSS 代码中的类和 ID。
约定四:蛇形命名法(Snake case)
单词用小写(或大写),用下划线连接。
举例:snake_case, my_variable_name, my_url
在 PHP、Ruby 和 Phyton 中使用了蛇形命名法。这个约定有一个变体,即所有的单词都大写,用下划线分隔(例如:MY_CONSTANT_NAME)。多数语言的常量名称都使用这种形式。大写小写这两种变体可以分别表述为大蛇形(BIG_SNAKE_CASE)和小蛇形(small_snake_case)。