好的編程習慣(1)

概述

咱們程序員寫代碼就是爲了給別人看的嘛,因此代碼易讀性很重要。這裏我總結一些看別人代碼時以爲不錯的習慣,記錄下來,慢慢地向他們學習。html

代碼換行

有時候咱們會寫出很長一行代碼,雖然編輯器有換行功能,可是擠在一塊兒會很是難看。程序員

對於html,一個標籤太長了確定是由於屬性多了,因此能夠把每個屬性進行換行,以下所示:app

<div
  id="wrapper_wrapper"
  style="display: block;">
</div>

對於js,因爲編輯器不會在多元運算符後面加分號,因此能夠在多元運算符後面換行,以下所示:編輯器

(project.name && project.name.toLowerCase().indexOf(this.searchProject.toLowerCase()) !== -1) ||
  (project.creator.username &&
    project.creator.username.toLowerCase().indexOf(this.searchProject.toLowerCase()) !== -1));

須要注意的是,每次換行咱們都要縮進一下。另外因爲咱們會經常換行,因此縮進2個空格比較合適。函數

容錯

在方法裏面,若是一個函數或者變量聲明瞭,可是沒有值,可能就會報錯,以下所示:性能

const haha = cb => cb();

const haha2 = a => console.log(a);

const haha3 = a => console.log(a.b);

// 執行haha()會報錯
haha();

// 執行haha2()不會報錯
haha2();

// 執行haha3()會報錯
haha3();

因爲js是單線程的,因此一旦報錯,就不會執行後面的代碼了。因此爲了增長代碼的健壯性,最好在可能報錯的地方加上判斷:學習

const haha = cb => {
  if(typeof cb === 'function') {
    cb();
  }
}
// 執行haha()不會報錯
haha();

const haha3 = a => {
  if(a) {
    console.log(a.b);
  }
}
// 執行haha3()不會報錯
haha3();

固然,多加的判斷確定會對性能有影響,因此看本身權衡,若是確定不須要判斷就不要加了。this

const

能用const的時候必定要用const!!!線程

相關文章
相關標籤/搜索