在作一个项目的时候,咱们每每遭遇命名问题的困惑,当看到一些非专业人的代码,看到他们凌乱的码法,有时候真的苦不堪言。深入知道一个良好的命名规范的重要性,同时在项目中也会遇到一些命名的瓶颈。因此有必要写一篇关于常见命名的方式。如下是经过3年的编程经验,以及参考网上知名的开源项目总结的一点经验。但愿共勉javascript
经常使用项目命名 | omi、element、master、project、test、vue、iview |
---|---|
二级目录 | build、static、config、src、examples、base、common、issues、assert |
三级目录 | libs、models、plugins、skins、images、css、js |
color-pick、button-groups、date-picker、option-grounp、jquery-select、jquery-swipercss
node_models、async-demo、array-union、array-differ、babel-each。html
如下变量名能够加css、js、html,例如index.html、index.js、index.css。vue
经常使用组件命名 | index、message、menu、slider(滑块)、page、progress(进度条)、tooltip(提示)、tree、upload、time、button、checkbox、dialog、cascader(三级联动) |
---|---|
经常使用文件命名 | index、shopping(购物)、 share(分享)、integral(积分)、advertisement(广告)、pay(支付)、community(社区)、game、docs、bussiness |
share-to-friends,share-to-community,weex-pay,alipay-pay,user-integral,
game-page,docs-page等等反正就是自我想象。java
在目前作的pc端和移动端,简单的对他们分个类:node
- 1.移动广告(mobile-advertisement)
- 2.移动社交(mobile-social)
- 3.移动电子商务(mobile-bussiness)
- 4.手机游戏(mobile-game)
- 5.手机电视(mobile-tv)
- 6.移动电子阅读(mobile-reading)
- 7.手机搜索(mobile-search)
- 8.移动支付(mobile-pay)
- 9.手机内容共享(mobile-share)
关于以上的项目均可以用名词+须要的动词命名,达到见词知意jquery
能够参考DIV+CSS规范命名大全集合可是我以为写的并非很好,很全面。由于每每比较纠结的是每个大布局中小布局的命名。git
外套 wrap | #container |
---|---|
头部 header | #head, #header,#nav,#sub-nav,#menu, #sub-menu,#branding |
主要内容 main | bussiness-title 、bussiness-logo、bussiness-search、bussiness-search-results |
左侧 main-left | #side-bar, #side-bar-a, #side-bar-b |
右侧 main-right | #side-bar, #side-bar-a, #side-bar-b |
内容 content | radio-click、radio-heightlight、radio-active、input-seach-off、input-search-on |
底部 footer | #service, #regsiter,#partner(合做伙伴),#joinus, #site-info |
总结github
> * 基础类型
> * 字符串var s_count="",
> * 布尔类型var b_status=false,
> * 数字类型var n_total=12。
> * 引用数据类型
> * 数组var ar_bar=[],
> * 对象var o_bar={},
> * 函数var f_submit=function(){})复制代码
2.不要用关键字命名
default、class、private编程
3.用可读的同义词代替保留词。
// bad
var superman = {
class: 'alien'
};
// bad
var superman = {
klass: 'alien'
};
// good
var superman = {
type: 'alien'
};复制代码
login(),logout(),expandList(),getTotal(),keySearch(),submitForm(),cancel(),goMore(),searchAll(),searchCurrent().clearContent().uploadImage().searchResult()这些都是经常使用事件,能够清晰知道每一项的意义。
// bad
function user(options) {
this.name = options.name;
}
var bad = new user({
name: 'nope'
});
// good
function User(options) {
this.name = options.name;
}
var good = new User({
name: 'yup'
})复制代码
// bad
this.__firstName__ = 'Panda';
this.firstName_ = 'Panda';
this._firstName = 'Panda';
// good
this.firstName = 'Panda';复制代码
// bad
var sidebar = $('.sidebar');
// good
var $sidebar = $('.sidebar');
// bad
$('ul', '.sidebar').hide();
// bad
function setSidebar() {
$('.sidebar').hide();
// ...stuff...
$('.sidebar').css({
'background-color': 'pink'
});
}
// good
function setSidebar() {
var $sidebar = $('.sidebar');
$sidebar.hide();
// ...stuff...
$sidebar.css({
'background-color': 'pink'
});
}
// bad
$('.sidebar').find('ul').hide();
// good
$('.sidebar ul').hide();
// good
$('.sidebar > ul').hide();
// good
$sidebar.find('ul').hide();复制代码
公共的 | common.css |
---|---|
其实和common差很少 | base.css |
动画 | animation.css |
皮肤 | skin.css |
文字 | font.css |
主题 | themes.css |
打印样式 | print.css |
颜色 | color.css |