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