TypeScript的书写规范(TSLint)配置修改
新版Angular中使用的Typescript書寫規(guī)范非常惱人,比如默認(rèn)會啟用no-trailing-whitespace這樣的選項。官方對此的說明是為了配合GIT的使用規(guī)范。
雖然這種規(guī)則在規(guī)范程序員的代碼風(fēng)格方面有一定作用,但是對于已經(jīng)形成自身風(fēng)格的人而言,純粹是多此一舉。比如本人在Oracle實習(xí)期間,看到后端項目中Java代碼的風(fēng)格也是因人而異,比如有些人喜歡在方法之間間隔一行,有些人就不將方法分隔開;有些會將不同作用的程序段用空行隔開;有些不會在等號賦值左右加上空格……但這些都不會影響代碼的閱讀。個人認(rèn)為,只要縮進(jìn)得當(dāng),風(fēng)格穩(wěn)定,并且遵循一定的規(guī)范,都不會很大程度上影響閱讀。而TS在這些方面的吹毛求疵雖然非常嚴(yán)格地規(guī)范了代碼風(fēng)格,卻也影響了寫代碼的效率。(使用文本編輯器的例外)
說點題外話,先前在Ionic框架上做Hybrid App的時候使用的TSLint還是比較舒服的,雖然沒有去注意該團(tuán)隊是否已對TSLint進(jìn)行個性化設(shè)置。
以下將幾個比較麻煩的選項說明一下:
1.尾部空格檢測
"no-trailing-whitespace": false,這個一定要選擇false,要不然每行代碼后面都不能有空格,包括換行以后產(chǎn)生的空格。這對喜歡將不同功能程序段用空行分割的人而言簡直是噩夢。
2.行內(nèi)檢測
"one-line": [true,"check-open-brace","check-catch","check-else","check-whitespace" ],這個里面可以自行配置自身需要的,比如check-whitespace這項就會要求函數(shù)名,參數(shù)表和函數(shù)段開頭的大括號之間要有空格。當(dāng)然也可以設(shè)置為false,將這個功能完全禁用。
3.關(guān)鍵字var
"no-var-keyword": true,如果這一項啟用的話,就不能在程序段中使用var來生成變量。本身ES6提供的let確實很好用,但如果需要利用var的特性(比如變量提升)來實現(xiàn)一些程序段的話,那就不能禁用。
4.注釋行中的空格
"comment-format": [true,"check-space" ],如果check-space這一項存在,那么注釋行的開頭必須要加上一個空格。這個對于使用英文注釋的人來說,沒有多大影響,但是中文話就沒有必要。注釋畢竟是區(qū)別于代碼段的,要使用如何的書寫格式應(yīng)當(dāng)自己來決定。去掉這一項,或者將整個commet-format的值改為false,就可以將其禁用。
5.空格在其他部分的設(shè)置
"whitespace": [true,"check-branch","check-decl","check-operator","check-separator","check-type" ],whitespace這一項決定了在哪些情況下必須先插入空格,然后寫入自己的代碼。比如check-separator這一項就會要求在初始化數(shù)組的時候,相鄰元素間不僅要用“,”分隔,還需要在其之后加入空格。
6.引用規(guī)范
"quotemark": false,quotemark規(guī)定了引用符號的格式,比如在true,'single'的模式下,就會強制規(guī)定引用時必須使用單引號。然而,即使是WebStorm默認(rèn)的引用格式也是雙引號,這樣就必須修改IDE的引用格式,或者將這個規(guī)則禁用,否則每次引用都要手動將雙引號改為單引號。
7.const偏好
這一項會在變量沒有在程序段中重新賦值的時候提示使用const,這么做可以優(yōu)化性能。然而,這樣的設(shè)定也會引發(fā)一些問題,畢竟我們在設(shè)計的時候會考慮到后期對某些變量可能會進(jìn)行修改。建議在初期開發(fā)完成,程序處理邏輯趨于穩(wěn)定,進(jìn)入性能優(yōu)化的環(huán)節(jié)后再把這一項啟用,協(xié)助檢查哪些變量可以用const優(yōu)化。
其他的后續(xù)繼續(xù)補充。
http://blog.csdn.net/lqy455949477/article/details/78087875
總結(jié)
以上是生活随笔為你收集整理的TypeScript的书写规范(TSLint)配置修改的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 不容错过的8个持续集成工具
- 下一篇: 初识this