鍍金池/ 教程/ HTML/ 編碼規(guī)范
初始化項目結(jié)構(gòu)
聯(lián)合類型
介紹
介紹
介紹
編譯選項
TypeScript 1.6
介紹
介紹
發(fā)展路線圖
介紹
在MSBuild里使用編譯選項
可迭代性
TypeScript 1.3
介紹
介紹
TypeScript 1.1
變量聲明
即將到來的Angular 2框架是使用TypeScript開發(fā)的。 因此Angular和TypeScript一起使用非常簡單方便
tsconfig.json
介紹
介紹
介紹
在MSBuild里使用編譯選項
使用TypeScript的每日構(gòu)建版本
新建工程
枚舉
三斜線指令
結(jié)合ASP.NET v5使用TypeScript
TypeScript里的this
介紹
TypeScript 1.4
編碼規(guī)范
介紹
模塊解析
ASP.NET 4
架構(gòu)概述
介紹
介紹
ASP.NET Core
TypeScript 1.8
介紹
介紹
創(chuàng)建簡單工程
TypeScript 1.7
TypeScript 1.5
NPM包的類型
支持TypeScript的編輯器

編碼規(guī)范

這個編碼規(guī)范是給TypeScript開發(fā)團(tuán)隊在開發(fā)TypeScript時使用的。 對于使用TypeScript的普通用戶來說不一定適用,但是可以做為一個參考。

命名

  1. 使用PascalCase為類型命名。
  2. 不要使用I做為接口名前綴。
  3. 使用PascalCase為枚舉值命名。
  4. 使用camelCase為函數(shù)命名。
  5. 使用camelCase為屬性或本地變量命名。
  6. 不要為私有屬性名添加_前綴。
  7. 盡可能使用完整的單詞拼寫命名。

組件

  1. 1個文件對應(yīng)一個邏輯組件 (比如:解析器,檢查器)。
  2. 不要添加新的文件。 :)
  3. .generated.*后綴的文件是自動生成的,不要手動改它。

類型

  1. 不要導(dǎo)出類型/函數(shù),除非你要在不同的組件中共享它。
  2. 不要在全局命名空間內(nèi)定義類型/值。
  3. 共享的類型應(yīng)該在types.ts里定義。
  4. 在一個文件里,類型定義應(yīng)該出現(xiàn)在頂部。

nullundefined

  1. 使用 undefined,不要使用 null。

一般假設(shè)

  1. 假設(shè)像Nodes,Symbols等這樣的對象在定義它的組件外部是不可改變的。不要去改變它們。
  2. 假設(shè)數(shù)組是不能改變的。

  1. 為了保持一致,在核心編譯鏈中不要使用類,使用函數(shù)閉包代替。

標(biāo)記

  1. 一個類型中有超過2個布爾屬性時,把它變成一個標(biāo)記。

注釋

為函數(shù),接口,枚舉類型和類使用JSDoc風(fēng)格的注釋。

字符串

  1. 使用雙引號""
  2. 所有要展示給用戶看的信息字符串都要做好本地化工作(在diagnosticMessages.json中創(chuàng)建新的實體)。

錯誤提示信息

  1. 在句子結(jié)尾使用.。
  2. 對不確定的實體使用不定冠詞。
  3. 確切的實體應(yīng)該使用名字(變量名,類型名等)
  4. 當(dāng)創(chuàng)建一條新的規(guī)則時,主題應(yīng)該使用單數(shù)形式(比如:An external module cannot...而不是External modules cannot)。
  5. 使用現(xiàn)在時態(tài)。

錯誤提示信息代碼

提示信息被劃分類成了一般的區(qū)間。如果要新加一個提示信息,在上條代碼上加1做為新的代碼。

  • 1000 語法信息
  • 2000 語言信息
  • 4000 聲明生成信息
  • 5000 編譯器選項信息
  • 6000 命令行編譯器信息
  • 7000 noImplicitAny信息

普通方法

由于種種原因,我們避免使用一些方法,而使用我們自己定義的。

  1. 不使用ECMAScript 5函數(shù);而是使用core.ts這里的。
  2. 不要使用for..in語句;而是使用ts.forEachts.forEachKeyts.forEachValue。注意它們之間的區(qū)別。
  3. 如果可能的話,嘗試使用ts.forEachts.mapts.filter代替循環(huán)。

風(fēng)格

  1. 使用arrow函數(shù)代替匿名函數(shù)表達(dá)式。
  2. 只要需要的時候才把arrow函數(shù)的參數(shù)括起來。
    比如,(x) => x + x是錯誤的,下面是正確的做法:

    1. x => x + x
    2. (x,y) => x + y
    3. <T>(x: T, y: T) => x === y
  3. 總是使用{}把循環(huán)體和條件語句括起來。
  4. 開始的{總是在同一行。
  5. 小括號里開始不要有空白.
    逗號,冒號,分號后要有一個空格。比如:

    1. for (var i = 0, n = str.length; i < 10; i++) { }
    2. if (x < 10) { }
    3. function f(x: number, y: string): void { }
  6. 每個變量聲明語句只聲明一個變量
    (比如 使用 var x = 1; var y = 2; 而不是 var x = 1, y = 2;)。
  7. else要在結(jié)束的}后另起一行。
上一篇:介紹下一篇:架構(gòu)概述