团队编码规范
HTML编码规范
1、代码风格
- 1.1 缩进与换行
使用 4 个空格做为一个缩进层级,不允许使用 2 个空格 或 tab 字符。
注:每行不得超过 120 个字符。(过长的代码不容易阅读与维护。) - 1.2 命名
(1)class 必须单词全字母小写,单词间以 - 分隔。
(2)class 必须代表相应模块或部件的内容或功能,不得以样式信息进行命名。
(3)元素 id 必须保证页面唯一。(同一个页面中,不同的元素包含相同的 id,不符合 id 的属性含义。)
(4)id 建议单词全字母小写,单词间以 - 分隔。同项目必须保持风格一致。
(5)id、class 命名,在避免冲突并描述清楚的前提下尽可能短。
(6)同一页面,应避免使用相同的 name 与 id。(IE 浏览器会混淆元素的 id 和 name 属性) - 1.3 标签
(1)标签名必须使用小写字母。
(2)对于无需自闭合的标签,不允许自闭合。
(3)对 HTML5 中规定允许省略的闭合标签,不允许省略闭合标签。
(4)标签使用必须符合标签嵌套规则。
(5)HTML 标签的使用应该遵循标签的语义。
(6)在 CSS 可以实现相同需求的情况下不得使用表格进行布局。
(7)标签的使用应尽量简洁,减少不必要的标签。 - 1.4常见标签语义:
p - 段落
h1,h2,h3,h4,h5,h6 - 层级标题
strong,em - 强调
ins - 插入
del - 删除
abbr - 缩写
code - 代码标识
cite - 引述来源作品的标题
q - 引用
blockquote - 一段或长篇引用
ul - 无序列表
ol - 有序列表
dl,dt,dd - 定义列表 - 1.5属性
(1)属性名必须使用小写字母。
(2)属性值必须用双引号包围,不允许使用单引号,引号。
(3)布尔类型的属性,建议不添加属性值。
(4)自定义属性建议以 xxx- 为前缀,推荐使用 data-。
2、Head
- 2.1 title
(1)页面必须包含 title 标签声明标题。
(2)title 必须作为 head 的直接子元素,并紧随 声明之后。
3、图片
- (1)禁止 img 的 src 取值为空。延迟加载的图片也要增加默认的 src。
- (2)避免为 img 添加不必要的 title 属性。
- (3)为重要图片添加 alt 属性。
- (4)添加 width 和 height 属性,以避免页面抖动。
4、表单
- 4.1文本
(1)有文本标题的控件必须使用 label 标签将其与其标题相关联。 - 4.2按钮
(1)使用 button 元素时必须指明 type 属性值。
(2)尽量不要使用按钮类元素的 name 属性。 - 4.3可访问性
(1)当使用 JavaScript 进行表单提交时,如果条件允许,应使原生提交功能正常工作。
(2)在针对移动设备开发的页面时,根据内容类型指定输入框的 type 属性。
(3)负责主要功能的按钮在 DOM 中的顺序应靠前。
JavaScript编码规范
1、行长度
- 每行代码应小于 80 个字符。如果代码较长,应尽量选择换行,下一行代码应缩进 8 个空格。这样可以使代码排版整齐,减轻阅读代码的疲劳感。换行缩进 8 个空格可以和代码段的缩进 4 个空格区分开,以增强代码的可阅读性。
2、行结束
- JavaScript 语句应该以分号结束。但大多数浏览器允许不写分号,只要在本应是分号的地方有一个换行符就行。但是如果代码行较长需要换行的时候,有哪些注意事项呢?换行应选择在操作符和标点符号之后,最好是在逗号','之后,而不要在变量名、字符串、数字、或')' ']' '++' '--'等符号之后换行。这样可以有效的防止拷贝、粘贴而引起的错误,并可有效地增强代码的可阅读性。请见清单 1,代码的输出符合我们的期望。但就写法而言,对 valueB 的赋值语句是在变量 valueA 之后进行的换行,这很容易被误解为 valueB=ValueA,给阅读造成障碍。而对 valueC 的复制语句是在'+'之后进行的换行,就容易理解的多。这也是本文所提倡的换行方式。但就写法而言,对 valueB 的赋值语句是在变量 valueA 之后进行的换行,这很容易被误解为 valueB=ValueA,给阅读造成障碍。而对 valueC 的复制语句是在'+'之后进行的换行,就容易理解的多。这也是本文所提倡的换行方式。
3、缩进
- 关于缩进的问题,不只是 JavaScript,几乎所有的语言编写的时候,都会提及缩进的问题。缩进几乎是代码编写规范的第一课,是代码可阅读性判断的直接因素。
- 代码缩进的好处是不言而喻的,但是对于如何缩进,则没有标准而言。最受欢迎的是方便使用 TAB 键缩进,也有些喜欢用 2 个、4 个、8 个空格进行缩进。这样缩进风格不一,也同样给代码的阅读带来障碍。
4、注释
- 代码中的注释很重要,自然也是毋庸置疑的。通常我们会强调代码中注释数量的多少,而轻视了对注释质量的提高。编码是及时添加注释,会给后续代码的维护人员带来很大的便利。但是如果注释不注意更新,或者由于拷贝、粘贴引起的错误的注释,则会误导阅读人员,反而给阅读带来障碍。
5、空白符
- 适当的空白行可以大大提高代码的可阅读性,可以使代码逻辑更清晰易懂。同时,在表达式中适当的留空白,也会给代码的阅读带来方便。
- 关键字的后面如有括号,则最好在关键字和左括号'('之间留空白,如 for, if, while 等。而函数名和括号之间则不宜留空白,但若是匿名函数,则必须在 function 和左括号'('之间留空白,否则,编辑器会误认为函数名function。
- 在表达式中,二元运算符 ( 除左括号'(',左方括号'[',作用域点'.') 和两个操作数之间最好留空白。一元运算符(若不是词 typeof 等)和其操作数之间不宜留空白。
- 逗号','的后面需要留空白,以显示明确的参数间隔,变量间隔等。
- 分号';'之后通常表明表达语句的结束,而应空行。在 for 的条件语句中,分号之后则应该留空白。
6、括号{ } 和 [ ]
- 在 JavaScript 中,如需定义空对象和空数组,通常很自然地想到用 new Object() 和 new Array() 的方法。其实花括号'{}'和方括号'[]'可以直接用来定义一个空对象和一个空数组。这种书写方法可以使代码看起来简单易懂。
7、标识符命名
- 以字母、下划线'_'或美元符号'$'开头
- 允许名称中包含字母,数字,下划线'_'和美元符号'$'
- 区分大小写
- 变量、参数、成员变量、函数等名称均以小写字母开头,构造器的名称以大写字母开头。 下划线''开头的变量一般习惯于标识私有/局部成员。而美元符号'$'开头的变量习惯于标识系统相关,比如系统进程等。应避免用下划线''或美元符号'$'来命名标识符。尽可能地降低代码的阅读负担。
8、变量的声明
- 尽管JavaScript语言并不要求在变量使用前先对变量进行声明。但我们还是应该养成这个好习惯。这样可以比较容易的检测出那些未经声明的变量,避免其变为隐藏的全局变量,造成隐患。 在函数的开始应先用var关键字声明函数中要使用的局部变量,注释变量的功能及代表的含义,且应以字母顺序排序。每个变量单独占一行,以便添加注释。这是因为JavaScript中只有函数的{}表明作用域,用var关键字声明的局部变量只在函数内有效,而未经var声明的变量则被视为全局变量。
Android编码规范
1、通用格式
- (1) 文件编码格式为 UTF-8.
- (2) 文件换行为 Unix 格式( ‘\n’ ).
- (3) 同方法内, 以空行区分不同的逻辑块.
- (4) 命名中只能用英文单词, 不可出现拼音.
- (5) 一个方法不要超过2屏(约80 ~ 100行), 超过时考虑按逻辑封装为更小的方法.
- (6) 代码中(包括源码文件和布局文件)除注释外, 不可出现中文. 需要中文时提取为资源文件再进行引用. 原则上中文只应出现在 string.xml 中.
- (7) 每个类和功能性 public 的方法需要注释, 参考 javadoc 的写法. private 方法若复用性较高也须注释.
- (8) 修改代码时, 也须修改相应文档.
- (9) 每个 Java 文件只含一个类. 如果只在当前类中引用的接口( Interface ), 可以放在同一个 java 文件中, 其余情况下,接口均应放到独立的 java 文件中.
定义局部变量时, 必须初始化. - (10) 全局变量在类中声明并初始化时, 只可赋值为 null 或空值, 不可直接 new 对象进行赋值.
- (11) 对于 if, while, for 等逻辑块, 总是使用花括号括起每一个分支. 即使分支中只有一行 return 也须用花括号括起.
- (12) switch 结构中, 如果需要 fall through 时, 需要在相应的 case 中做注释.
提交代码时勾选 Before Commit 中的 Reformat code, Rearrange code, Optimize imports 三个选项.
2、命名规范
- 2.1大小写规范.
(1)类以大写字母为开头.
(2)常量全为大写字母, 单词间以下划线进行分隔.
(3)其余均为首字母小写, 每个单词首字母大写.
(4)使用缩略词时, 将其当作一个单词. 如 getUrl, 而非 getURL. - 2.2名称规范
(1)静态变量, 开头为 s
(2)非静态的私有变量, protected 的变量, 开头为 m
(3)ListView 等控件, 填充成员的类命名, 必须以 Item 开头 - 2.3非ASCII字符
对于剩余的非ASCII字符,是使用实际的Unicode字符(比如∞),还是使用等价的Unicode转义符(比如\u221e),取决于哪个能让代码更易于阅读和理解。
Tip:在使用Unicode转义符或是一些实际的Unicode字符时,建议做些注释给出解释,这有助于别人阅读和理解。 - 例如:
String unitAbbrev = "μs"; | 赞,即使没有注释也非常清晰
String unitAbbrev = "\u03bcs"; // "μs" | 允许,但没有理由要这样做
String unitAbbrev = "\u03bcs"; // Greek letter mu, "s" | 允许,但这样做显得笨拙还容易出错
String unitAbbrev = "\u03bcs"; | 很糟,读者根本看不出这是什么
return '\ufeff' + content; // byte order mark | Good,对于非打印字符,使用转义,并在必要时写上注释
Tip:永远不要由于害怕某些程序可能无法正确处理非ASCII字符而让你的代码可读性变差。当程序无法正确处理非ASCII字符时,它自然无法正确运行, 你就会去fix这些问题的了。(言下之意就是大胆去用非ASCII字符,如果真的有需要的话)
数据库设计
- 数据库注释
student:学生
Account No:账号
Password:密码
Student Information:学生信息
name:姓名
age:年龄
sex:性别
nation:民族
faculty:学院
major:专业
class:班级
Phonenumber:电话号码
Student ID:学号
Dormitory No:宿舍楼号
Bedroom No:宿舍号
ID card No:身份证号
Manager:管理员
Teacher:老师
ER图
主要功能流程描述
- 登录
- 寝室分配
- 信息查询
- 修改信息
作业分工
- 吴香南 1500802037 工作:分配工作、画ER图、流程图功能描述、发布博客
- 张永婷 1500802004 工作:编写编码规范、画主要功能流程图查询信息部分
- 吕占英 1500802034 工作:编写编码规范、画主要功能流程图查询部分
- 刘盈秀 1500802015 工作:编写数据库设计、画主要功能流程图分配寝室部分
- 岳锦霞 1500802001 工作:编写数据库设计、画主要功能流程图修改信息、登录部分
组员贡献分
- 吴香南 1500802037 (10分)
- 张永婷 1500802004 (10分)
- 吕占英 1500802034 (10分)
- 刘盈秀 1500802015 (10分)
- 岳锦霞 1500802001 (10分)
转载于:https://www.cnblogs.com/wxn-151/p/6925918.html