在作一個項目的時候,咱們每每遭遇命名問題的困惑,當看到一些非專業人的代碼,看到他們凌亂的碼法,有時候真的苦不堪言。深入知道一個良好的命名規範的重要性,同時在項目中也會遇到一些命名的瓶頸。因此有必要寫一篇關於常見命名的方式。如下是經過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 |
Paste_Image.png
Paste_Image.png