好的命名规范可让你不用每天为取名字而苦恼、找bug时,更快的定位到bug在哪一个位置javascript
.nav某一块展现/功能区域 (div)
.nav__item这块展现/功能区域(div)里面的某个元素,好比: nav__item
.nav__item--hide/ .nav__item--open 某个元素或者某个块的状态html
我曾经给一个元素取了个class为advertisement,后来测试人员发现页面上这块元素不见了。后来发现360浏览器开启去广告模式,直接把这个div给删了。vue
使用正常的时态java
函数和属性的命名是有区别的git
动宾结构就是 doSomething,这样的函数命名含义明确
好比: openFile, setName, addNumber...github
- **若是是属性命名,建议使用定语+名词**
好比 fileName, maxLength, textSize浏览器
Ant.design 的 React 组件是下面这样的时候,我感受到一种自由的味道。首先,组件名可使用原生 HTML 标签名,意味着不再用较劲脑汁去规避原生 HTML 标签了。另外,这些组件都使用了首字母大写标签名,使它们很容易地与原生小写的 HTML 标签区分。
ReactDOM.render( <div> <Button type="primary">Primary</Button> <Input placeholder="Basic usage" /> <Select defaultValue=".com" style={{ width: 70 }}> <Option value=".com">.com</Option> <Option value=".jp">.jp</Option> <Option value=".cn">.cn</Option> <Option value=".org">.org</Option> </Select> </div>, mountNode );
应用特定样式和约定的基础组件 (也就是展现类的、无逻辑的或无状态的组件) 应该所有以一个特定的前缀开头,好比 Base、App 或 V。eclipse
**反例** components/ |- button.vue |- loading.vue |- slide.vue **正例** components/ |- BaseButton.vue |- BaseLoading.vue |- BaseSlide.vue
单个活跃实例的组件应该以 The 前缀命名,以示其惟一性
这不意味着组件只可用于一个单页面,而是每一个页面只使用一次。这些组件永远不接受任何 prop,由于它们是为你的应用定制的,而不是它们在你的应用中的上下文。若是你发现有必要添加 prop,那就代表这其实是一个可复用的组件,只是目前在每一个页面里只使用一次。编辑器
**反例** components/ |- SaleManage.vue |- ImportExcel.vue **正例** components/ |- TheSaleManage.vue |- TheImportExcel.vue
和父组件紧密耦合的子组件应该以父组件的命名为前缀.若是一个组件只在其父组件某个场景下有意义,这层关系应该体如今组件名上,由于编辑器一般按照首字母顺序组织文件.ide
**反例** components/ |- SearchBox.vue |- SearchItem.vue |- SearchButton.vue **正例** components/ |- SearchBox.vue |- SearchBoxItem.vue |- SearchBoxButton.vue
组件名应该以高级别的 (一般是通常化描述的) 单词开头,以描述性的修饰词结尾。
**反例** components/ |- ClearSearchButton.vue |- ExcludeFromSearchInput.vue |- LaunchOnStartupCheckbox.vue |- RunSearchButton.vue |- SearchInput.vue |- TermsCheckbox.vue **正例** components/ |- SearchButtonClear.vue |- SearchButtonRun.vue |- SearchInputQuery.vue |- SearchInputExcludeGlob.vue |- SettingsCheckboxTerms.vue |- SettingsCheckboxLaunchOnStartup.vue
编辑器中的自动补全已经至关友好,让书写长的组件名的代价已经能够微乎其微,一样的效率更易于理解,何乐而不为?
**反例** components/ |- soManage.vue |- woManage.vue **正例** components/ |- SaleOrderManage.vue |- WorkOrderManage.vue
在声明时始终采用(camelCase),在模板和 JSX 中应该始终使用( kebab-case)。
单纯的遵循每一个语言的约定。在 JavaScript 中更天然的是 camelCase。而在 HTML 中则是 kebab-case。
**反例** props: { 'greeting-text': String } <WelcomeMessage greetingText="hi"/> **正例** props: { greetingText: String } <WelcomeMessage greeting-text="hi"/>
变量命名使用主要集中在data和methods中
名词:名词太多,大体分为复数、后缀加Arr、加Obj之类做为约定规则
状态布尔型:
1.表示是否是,用is+ :如 isEmpty
dd/remove,添加/移除
add/delete,添加/删除
insert/delete,插入/删除
start/stop,开始/中止
begin/end,开始/结束
send/receive,发送/接收
get/set,取出/设置
get/release,获取/释放
put/get,放入/取出
up/down,向上/向下
show/hide,显示/隐藏
open/close,打开/关闭
increment/decrement,增长/减小
lock/unlock,锁/解锁
next/previous,下一个/前一个
create/destroy,建立/销毁
min/max,最小/最大
visible/invisible,可见/不可见
pop/push,出栈/入栈
store/query,存储/查询
结合业务:
表单提交:submit、send
表单增删改查:add、delete、update、search、reset
上传附件:upload
关闭打开弹窗:open/close
检查:check
CSS命名方式=》BEM
如何定义一个好的变量名
理解CSS命名规范--BEM
聊聊 Vue 组件命名那些事
谈谈函数的命名规范
vue组件命名指南,不为取名而纠结