摘要:工作中好的編程風格會更友好,不好的編程風格會讓隊友難受變量的聲明使用和代替存在變量提升等副作用,聲明常量使用命名規(guī)范使用小駝峰命名,變量名可讀性好使用變量說明不要出現(xiàn)讓人覺得晦澀難懂的變量不要重復命名當一個對象名有意義的時候,對象里面的的命
工作中好的編程風格會更友好,不好的編程風格會讓隊友難受
變量的聲明
使用let和const代替var(var存在變量提升等副作用),聲明常量使用const
// bad var name = "zero" // good let name = "zero" // bad var MAX = 100 // good const MAX = 100
命名規(guī)范
使用小駝峰命名,變量名可讀性好
// bad let l_name = "zero" // good let lastName = "zero"
使用變量說明
不要出現(xiàn)讓人覺得晦澀難懂的變量
// bad if (time < 120) { todo() } // good const MINUTES_IN_TWO_HOUR = 120; if (time < MINUTES_IN_TWO_HOUR) { todo() }
不要重復命名
當一個對象名有意義的時候,對象里面的key的命名不需要重復對象名
// bad let Student = { studentName = "zero", studentAge = 18 } // good let Student = { name = "zero" age = 18 }
字符串命名
靜態(tài)字符串使用單引號,動態(tài)字符串使用反引號
// bad let name = "zero" let myName = "my name is " + name // good let name = "zero" let myName = `my name is ${name}`
使用解構賦值
使用數(shù)組或者對象給變量賦值的時候,使用解構賦值
let arr = [1, 2, 3, 4] let obj = { name:"zero", age:18 } // bad let first = arr[0] let second = arr[1] let name = obj.name let age = obj.age // good let [first, second] = arr let {name,age} = obj
使用Object.assign
當給對象賦多個值得時候,使用Object.assign
let obj = {} // bad obj.name = "zero" obj.age = 18 // good Object.assign(obj,{ name:"zero", age:18 })
函數(shù)參數(shù)
函數(shù)參數(shù)較多的情況,使用對象進行傳參
// bad function Student(name,age,sex){ //... } // good let studentConfig = { name:"zero", age:18, sex:"man" } function Student(studentConfig){ //... }
封裝判斷條件
判斷條件過多的情況可以封裝成一個函數(shù)
// bad if(a===1 && b===2){ //... } // good function isTure(a,b){ return a===1 && b===2 } if(isTrue(a,b)){ //... }
其他
1.使用函數(shù)的默認傳參來避免對函數(shù)參數(shù)的判斷
2.函數(shù)名要表達出函數(shù)是干什么的,比如 isEmail(),讓人一看就知道是判斷email的,而且返回值是布爾類型
3.對于數(shù)組,少用for循環(huán),Array.forEach,Array.every,Array.some,Array.map,Array.filter基本可以滿足for循環(huán)想得到的效果
以上就是平時比較常見的編程風格,還有很多沒列出來,更多的請參考編程風格
文章版權歸作者所有,未經(jīng)允許請勿轉載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉載請注明本文地址:http://systransis.cn/yun/103508.html
摘要:同步發(fā)布于是個程序員都知道函數(shù),但是有些人不一定清楚函數(shù)式編程的概念。你的項目沒用到函數(shù)式編程,不代表項目不好。函數(shù)式編程的對立面就是命令式編程。函數(shù)式編程只是一個概念一致編碼方式,并沒有嚴格的定義。這里總結一些常用的函數(shù)式編程應用場景。 同步發(fā)布于 https://github.com/xianshanna... 是個程序員都知道函數(shù),但是有些人不一定清楚函數(shù)式編程的概念。 應用的迭...
摘要:最近讀完編寫可維護的,讓我受益匪淺,它指明了編碼過程中,需要注意的方方面面,在團隊協(xié)作中特別有用,可維護性是一個非常大的話題,這本書是一個不錯的起點。擴展閱讀編寫可維護的歡迎來到石佳劼的博客,如有疑問,請在原文評論區(qū)留言,我會盡量為您解答。 最近讀完《編寫可維護的JavaScript》,讓我受益匪淺,它指明了編碼過程中,需要注意的方方面面,在團隊協(xié)作中特別有用,可維護性是一個非常大的話...
摘要:入門的導語廢話最近兩年你要說函數(shù)式編程不火的話那是不可能的是人都知道函數(shù)式編程很火為什么函數(shù)式編程會火呢在于它的思想很強大很強勢尤其是前端的更是在上完全使用純函數(shù)函數(shù)式的好處漸漸被發(fā)掘出來筆者最近看了一些函數(shù)式方面的東東現(xiàn)在發(fā)出來給大家學習 0x00 入門的導語(廢話) 最近兩年你要說函數(shù)式編程不火的話, 那是不可能的, 是人都知道函數(shù)式編程很火.為什么函數(shù)式編程會火呢, 在于它的思想...
摘要:前端每周清單專注前端領域內(nèi)容,以對外文資料的搜集為主,幫助開發(fā)者了解一周前端熱點分為新聞熱點開發(fā)教程工程實踐深度閱讀開源項目巔峰人生等欄目。背后的故事本文是對于年之間世界發(fā)生的大事件的詳細介紹,闡述了從提出到角力到流產(chǎn)的前世今生。 前端每周清單專注前端領域內(nèi)容,以對外文資料的搜集為主,幫助開發(fā)者了解一周前端熱點;分為新聞熱點、開發(fā)教程、工程實踐、深度閱讀、開源項目、巔峰人生等欄目。歡迎...
摘要:如果編輯器在編碼時實時給出反饋,對開發(fā)者個人而言才是最高效的,在提交時做強制檢查只是從團隊的視角保證編碼風格的規(guī)范性和一致性。 工欲善其事必先利其器,軟件工程師每天打交道最多的可能就是編輯器了。入行幾年來,先后折騰過的編輯器有 EditPlus、UltraEdit、Visual Studio、EClipse、WebStorm、Vim、SublimeText、Atom、VSCode,現(xiàn)在...
閱讀 834·2023-04-25 22:13
閱讀 2347·2019-08-30 15:56
閱讀 2229·2019-08-30 11:21
閱讀 657·2019-08-30 11:13
閱讀 2024·2019-08-26 14:06
閱讀 1961·2019-08-26 12:11
閱讀 2293·2019-08-23 16:55
閱讀 542·2019-08-23 15:30