(rj-1) js开发规范:
Rj-1-1 命名:
命名空间: 小驼峰
构造函数: 大驼峰
常量: 全大写并单下划线做连词符
私有变量: 单下划线+小驼峰
私有变量(常量):单下划线+全大写并单下划线做连词符
命名必须符合语义化,严禁出现 名称与实际不符,或者没有语义的 命名
例如:具有行为的:动词+名词,如:getResume,goHome
具有某种状态的: (名词或者动词)+Status, 如 ResumeStatus, LoginStatus
布尔值类型的: is+(名词或者动词), 如 isLogin, isSubmit
Rj-1-2 注释:
头部使用多行注释,注解、标注、解释采用单行注释
使用必填项关键字 Create (创建人)
使用必填项关键字 Module (模块名称)
使用必填项关键字 Description (描述)
使用可选关键字 Collaborator (协作者)
格式:
css:
/**
* Create by Allen.sun on 2019/10/25
* Module: from.css
* Collaborator: lisa、steven
* Description: form表单抽象样式表
*/
js:
/**
* Create by Allen.sun on 2019/10/25
* Module: from.css
* Collaborator: lisa、steven
* Description: form表单抽象样式表
*/
html:
<!--
- Create by Allen.sun on 2019/10/22
- Description: 发布职位编辑和新增共同页面
- Module: PublishJob.cshtml
->
css:
/* TODO: resume_body-title__large 简历大标题样式*/
/* DONE: resume_body-title__large 简历大标题样式*/
/* NOTE: resume_body-title__large类 中的 !important 是用于覆盖color属性的样式污染 请注意*/
HTML:
<!-- TODO:职位弹出框 -->
<!-- DONE:职位弹出框 -->
<!-- NOTE:职位弹出框中有部分内联样式,为了解决插件导致的样式重写,请注意 -->
js:
// TODO: getResume 获取简历详情
// DONE: getResume 获取简历详情
// NOTE: getResume方法大于100行,获取数据之后需要计算大量的数据,并且需要修改数据结构,请注意
注意: TODO —> DONE 的状态需要手动修改,请注意
变量的注释:
var sResumeName = null; 可以不用注释,见名知意
var const SRN = null; // 简历名称 -----必须注释非见名之意
Rj-1-2 方法的行数做限制:
强制所有的方法不得超过100行,如果超过,需要对TL进行报备,并对代码的复杂性和注意事项用NOTE关键字进行说明。示例参见:Rj-1-2-2 行内注释 - js - NOTE 的定义
(rc-1) css编写规范:
鉴于大家对block__element_modifier 命名法则接受程度不同,建议但是不强制要求使用。
Rc-1-1 命名格式:
只能使用 英文字符 + 特殊字符:('-'||'--'||'_'||'__') + 英文字符 + 阿拉伯数字 的组合方式,且必须以英文字符开头只能是小写,不能以特殊字符结尾,特殊字符除了规则意外的不能连续出现多次 。可以是单英文字符但是如果是多个单词的词组中间必须加上 规定的特殊符号之一。 如: resume, resume-body, resume_body, padding-18, padding--18等任意的组合方式。
Rc-1-2 见名知意:
严禁出现无意义的命名,词不达意的命名。英文缩写是被允许的,但是必须进行单行注释 规则参见:变量的注释
Rc-1-3 选择器的使用:
禁止使用ID选择器,标签选择器,一切优先使用class选择器。
Rc-1-4 嵌套层级:
选择器的查找层级放开了3层,严禁大于三层。
注意以上规则原则上是不能违反的,但是遇到特殊情况可以向TL进行报备之后,在代码中进行NOTE注释原因并填写注意事项。注释规则参见:Rj-1-2-2 行内注释
(rh-1) html编写规范:
采用小写英文字符 + '_' +英文字符的方式,也可以是单小写英文字符,规则参见 Rc-1-2 见名知意 。
严禁使用内联样式 。
严禁使用style标签在 html项目内直接修改,特殊情况出现需要向TL报备并使用NOTE关键字进行注释并说明原因和注意事项。注释规则参见 Rj-1-2-2 行内注释
原则上禁止 !important 关键字的出现,特殊情况出现需要向TL报备并使用NOTE关键字进行注释并说明原因和注意事项。注释规则参见 Rj-1-2-2 行内注释
原则上禁止使用script标签直接在HTML文本中写控制脚本,特殊情况出现需要向TL报备并使用NOTE关键字进行注释并说明原因和注意事项。注释规则参见 Rj-1-2-2 行内注释
(rp-1) 静态文件规范:
全部采用小写,可以用下划线分割,如:my_project
采用小写,可用下划线,
复数目录,采用复数命名:scripts、styles
1、非公共资源图片命名以 项目名称(或者简写)作为开头+中划线+图片内容命名+双中划线+描述。
如 publish_job-loading--normal.png
2、公共资源图片命名 public开头+中划线+图片内容命名+双中划线+描述。
如public-loading--normal.png
1、页面脚本仓库 -------------------------- js目录
2、中间件仓库 -----------------------------Scripts目录
3、视图目录--------------------------------Views目录
4、样式目录--------------------------------Css目录
5、图片资源--------------------------------images目录
6、公共的图片库-----------------------------public目录
7、公共样式目录-----------------------------Css/public目录
7、公共html模板目录-------------------------Views/Shared目录
业务资源:在仓库下创建静态资源时,首先先创建一个与项目名称相同的文件夹,然后在该文件夹内去创建相应的脚本文件 或图片文件。
公共的资源:
js:在中间件仓库(Scripts目录)中创建,首先创建一个符合脚本业务的名称,然后在创建该脚本。
css:公共样式目录(Css/public目录)中创建,首先创建一个符合样式脚本业务的名称,然后在创建该脚本。
html:公共html模板目录(Views/Shared目录)中创建,首先创建一个符合页面业务的名称,然后在创建该脚本