精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

我用TypeScript語言的七個月

開發(fā) 前端
從2012年12月開始,我用 TypeScript 作為主要語言,用于一個大規(guī)模的企業(yè)項目。項目下個月要發(fā)布了,我想分享一些細節(jié)內(nèi)容,包括我們團隊怎么使用 TypeScript 的,還有成就項目的工作流程。

從2012年12月開始,我用 TypeScript 作為主要語言,用于一個大規(guī)模的企業(yè)項目。項目下個月要發(fā)布了,我想分享一些細節(jié)內(nèi)容,包括我們團隊怎么使用 TypeScript 的,還有成就項目的工作流程。

什么是TypeScript

TypeScript是由微軟開發(fā)的一個能夠在Node.js上 運行的開源語言和編譯器。這個語言是在ECMAScript6基礎(chǔ)上演化并吸收了生成Javascript類別和接口的一些特性。Typescript 的編譯器使用TypeScript語言編寫,并且能夠在任何兼容Javascript的程序內(nèi)運行,同時它也是作為node.js的一個工具包發(fā)布的。所 以該語言最終生成的仍然是Javascript腳本。

評估

在2012年十一月期間,我們發(fā)現(xiàn)我們所選擇的開發(fā)工具和對于Typescript的試用確實給團隊帶來很多便利。起初,我們試用了 Haxe,Dart,Coffescript等一系列語言,但是我們最終還是被擁有ECMAScript6特性Javascript編譯 器:Tyepscript打動了。我們所期望的是使用Javascript作為開發(fā)語言但同時又想要在我們的開發(fā)過程中注入一定的結(jié)構(gòu)框架,而且希望能夠 依靠編輯器來進行一些糾錯和驗證。所以實際上我們最終還是只有在Javascript和Typescript之間作選擇。在這基礎(chǔ)上,團隊作了幾個小型的 項目雛形,并且迅速發(fā)現(xiàn)了以下一些有趣的特性:

驗證:Typescript能夠在編譯的同時讓我們驗證一些代碼在不同模塊中的重復(fù)使用。在聲明變量類型和定義 語句方法的時候,我們能夠很有效的對所有call/get/set的使用在所有模塊中進行交叉驗證。如果一個屬性被賦給了 bbox.controls.image類,那么在編譯時只有圖片實例或其子類才能夠滿足編譯條件。

報錯:Typescript編譯器能夠提供非常細節(jié)的報錯,如果提供額外的類和接口信息,那報錯的內(nèi)容會更加的詳細。

輕量化:Typescript的類和接口在編譯時會蒸發(fā)的一干二凈從而生成純凈的Javascript腳本。

ECMAS6(ES6):Typescript在ES6的基礎(chǔ)上添加了類和接口。它讓我們能夠利用最新的Javascript語法規(guī)則去編寫程序同時在編譯時添加ES3,ES5的標簽,使得其能夠兼容ES3,ES5的標準。這讓代碼的整理變得非常輕松。

Build process:在我們最初的檢驗和測試過程中,有一個部分是利用Ant創(chuàng)建一個團隊進程。通過對 環(huán)境的適當調(diào)試,開發(fā)者能夠和SCM(架構(gòu)部署)進行同步并且建立一個擁有所有代碼組件(codepakages)的本地服務(wù)器用于開發(fā)和調(diào)試。整個創(chuàng)建 的過程遷入了LESS,RequireJS,Uglify2,TypeScript,模板處理和服務(wù)器的生成。

使用

在評估之后的幾個月里,我們基于TypeScript建立了一個穩(wěn)定的團隊工作流程并且從中獲利良多。進程的創(chuàng)建(buildprocess)是我們開發(fā)過程中一個至關(guān)重要并且每天都會使用到的一個過程。基于TypeScript,我們每天的工作流程基本上如下所述:

  • 從SCM進行更新
  • 運行‘antall’==>創(chuàng)建全部+運行本地服務(wù)器
  • 運行’antdev’或者’antts’==>增量式創(chuàng)建
  • 檢校創(chuàng)建過程中的錯誤或者在瀏覽器中進行測試
  • 清理bug然后重復(fù)以上步驟

我個人非常喜歡這樣的運作模型,從中我發(fā)現(xiàn)我們花在瀏覽器測試階段的時間遠少于之前的JavaScript項目。由于Build過程中就已經(jīng)檢校了 一些接口/類型/語法的錯誤,因此在瀏覽器測試階段我們就減少了對此類錯誤的勘誤工作量。一旦所有人都熟悉了TypeScript的debugging流 程,我們大大的提高了工作效率,這是在以前的開發(fā)過程中所沒有體驗過的。花了5秒鐘編譯但是最終卻刪除了整一個沒有運作的毫無意義類聽起來有點不能接受。 這種防患于未然的debugging方式節(jié)省我們大約2個月的時間,而且代碼的質(zhì)量也大大提高了。

當初在我們進行開發(fā)的時候,TypeScript定義文件的質(zhì)量和內(nèi)容不是非常理想。定義文件能夠讓你非常安全的從外部定義JavaScript的接口類型,但這樣做你的代碼必須在編譯時完全遵照定義文件。自從這個項目開始之際,我們借DefinitelyTyped項目為一些主要的或者非主要的JavaScript庫編寫潤飾了180個定義。小組最后在創(chuàng)建進程時使用了關(guān)于Require,JQuery,Backbone,Bootstrap,Underscore和EaselJS的定義文件。現(xiàn)在為TypeScript添加定義文件,你只要在你的main.ts文件中添加一下的代碼就可以了。

根據(jù)同樣的方法你也可以向TypeScript中添加一些外部庫。某種程度上來說定義文件,接口和TypeScript的類的運作方式是類似的。為 了簡化我們創(chuàng)建進程的過程,我們將這些調(diào)用過程全部綜合到一個init.ts文件中,這樣當編譯器工作的時候就可以自動載入所有該應(yīng)用所需要 TypeScript代碼。哪怕是那些本需要通過先調(diào)用模塊才能調(diào)用的類也能在這里被調(diào)用表達,這樣這些類就會在編譯時預(yù)先在外部生成一個模塊文件以供使 用。注意這個外部模塊的代碼中”exportClass”的語法,它會告訴編譯器將文件視為一個外部模塊進行調(diào)用,而編譯器標識”-moduleamd” 會使得編譯器將模塊編排成AMD或者CommonJS的格式

#p#

除此之外,TypeScript還有另外一個很優(yōu)雅整合代碼的功能。每一個類和變量都被輸出到瀏覽器窗口實體之外的一個路徑里以供全局訪問。我們使 用了bbox作為所有類和變量的命名空間,同時提供了輸入時的支持,你也可以便捷的為你自己的應(yīng)用建立一個良好命名空間。以上的模塊包含在 了”bbox.controls”里并且在運行時可以發(fā)現(xiàn)它被輸出到了bbox.controls,Bounds中。考慮到我們有用到大約60多個類,我 們最大化的使用了這個模塊系統(tǒng)并且在開發(fā)過程中使用的非常順利。你可以遵照這個方法自由的導(dǎo)出和類別化你自己的變量或者所有的類,而不需要讓所有的變量都 歸屬于某個類。由于提供了類別和權(quán)限的限制,類別化輸出的變量對于模塊內(nèi)單一的變量非常適用。隨著類別和模塊的介入,你使用JavaScript的方式也 會有所改變,并且很難形成比較差的實踐方式。隨著一個能夠監(jiān)測到通過數(shù)組或者一個很特殊的類別重寫了某實體的高級編譯器,你可以一不同的方式利用 JavaScript進行開發(fā),TypeScript作為一種語言有著它獨特的工作模式。它已經(jīng)不完全是JavaScript了,但全包含了 JavaScript原有的所有特性。

通過一系列的開發(fā)實踐我發(fā)祥我自己已經(jīng)通過對代碼的重構(gòu)實 現(xiàn)了開發(fā)策略的轉(zhuǎn)換。由于有時需檢查在不同部分受到修改影響的代碼,我開始在有意識的改變變量類別,接口和命名空間等方面相信編譯器本身的行為。在編譯之 后我才會修改結(jié)果,并且根據(jù)需要進行代碼的重構(gòu)。這在很多方面都使我能夠很有效處理較大的代碼量。編譯器為我省去了很多debugging的負擔。

至于我的開發(fā)環(huán)境,盡管其他團對成員選擇了Jetbrians,我依然選擇了sublimetext2+TypeScirpt語法高亮。毫無異議, 我發(fā)覺即使沒有自動完成的功能,sublime依然能提供很好的TypeScript開發(fā)環(huán)境。由于TypeScript編譯器本身就有著增量式的編譯功 能和豐富的IDE整合功能,可能需要更多的時間來證明到底Sublime/Edge/Jetbrains哪一個才是最適合的開發(fā)工具。

最后,當我愛上使用TypeScript的同時(當然,我也會繼續(xù)用下去),我發(fā)現(xiàn)了一個令人望而生畏的地方。有很多次,當你一頭扎進編譯環(huán)境中, 編譯器卻由于輸入信息不可用而阻止你調(diào)用一個方法或者變量。每當這時,我們發(fā)現(xiàn)只有我們手動修復(fù)bug時,利用關(guān)聯(lián)數(shù)組語法 (associativearraysyntax)去解決這個問題。比如:無論什么樣的分類形 式,foo[‘myProperty’]foo[‘myMethod’]() 應(yīng)該能夠讓你介入foo的myProperty和myMethod屬性。這看起來有一些不可思議,但只要記住隨時可能用到關(guān)聯(lián)數(shù)組語法 (associativearraysyntax)就萬事大吉了,你總有需要它的地方。

最后附上一些項目開發(fā)過程中的總結(jié)數(shù)據(jù):

  • 63個typescript類
  • 12個運行庫(libs)(Underscore,Require,Bootstrap,Jquery,Backbone,EaselJS…)
  • 一次創(chuàng)建所有進程,用時8秒
  • 一次創(chuàng)建所有開發(fā)進程,用時5秒
  • 149Kb大小的運行庫文件和411Kb大小的類文件

總結(jié)

在過去7個月里用TypeScript做開發(fā)是一件非常愉快的事情。在之前的開發(fā)經(jīng)驗里,我使用過ActionScript/ES4,但由于有著相 似的結(jié)構(gòu),我很快就適應(yīng)了TypeScript,同時保持了JavaScript 優(yōu)雅的代碼便捷性。在很多方面,我發(fā)現(xiàn)對于TypeScript的使用,的確使我們在團隊代碼質(zhì)量和截止日期上有了很大提升。我不認為我是微軟的死忠,但 是TypeScript確實使我眼前一亮。它是過去三年里我所接觸的最好的也是比較容易接受的一個網(wǎng)頁開發(fā)的工具。我期待在未來能夠在更多的項目中用到, 并且能夠參與到該語言/編譯器的開發(fā)中去。

這周我將會在舊金山的Build去了解TypeScript0.9的一些特性,下個月我會在Senchacon和360Stack。

我愛TypeScript!

Ted

原文鏈接:http://tedpatrick.com/2013/06/25/7-months-with-typescript/

譯文鏈接:http://blog.jobbole.com/43675/

責任編輯:陳四芳 來源: 伯樂在線
相關(guān)推薦

2009-02-16 12:20:02

面試失業(yè)職業(yè)生涯

2022-02-01 15:56:50

自動駕駛安全人工智能

2024-05-07 08:00:00

自然語言處理機器學(xué)習(xí)

2021-06-28 11:46:31

GitLinux

2024-01-17 22:56:07

開源大語言模型LLM

2011-07-22 09:06:08

AMDCEO

2022-09-20 12:59:36

JavaScript函數(shù)

2020-12-07 09:56:34

GitLinux版本控制系統(tǒng)

2022-02-25 10:44:32

UbuntuKDE 應(yīng)用軟件包

2022-06-15 10:24:13

Pytho裝飾器代碼

2021-11-17 15:28:06

LinuxLinux命令

2015-06-11 13:34:54

編程編程階段

2022-09-21 11:47:15

CIO虛假敏捷

2024-11-06 14:26:40

2018-05-17 13:59:28

IT顧問

2011-03-02 09:34:58

AppFuse

2023-07-14 14:53:38

人工智能prompt

2022-11-18 14:33:39

2024-11-27 08:28:37

2022-09-30 09:26:35

JavaScript技巧
點贊
收藏

51CTO技術(shù)棧公眾號

98精品国产自产在线观看| 亚洲另类春色国产| 欧美亚洲国产另类| 免费在线观看a视频| 国产乱码精品一区二三赶尸艳谈| 成年人网站91| 日本一本a高清免费不卡| 超薄肉色丝袜一二三| gogo大尺度成人免费视频| 亚洲一区二区三区四区在线观看| 久久久久一区二区三区| 亚洲一区 中文字幕| 欧美在线黄色| 亚洲日韩第一页| 波多野结衣网页| 三妻四妾完整版在线观看电视剧 | 粗大黑人巨茎大战欧美成人| 成人中文字幕在线| 国产精品三级在线| 日本a在线观看| 久久要要av| 亚洲精品国产福利| 三级黄色片播放| 播放一区二区| 黄色成人av网| 成年丰满熟妇午夜免费视频| 国产一级二级三级在线观看| 国产a视频精品免费观看| 国产精品视频精品视频| 日韩熟女精品一区二区三区| 88国产精品视频一区二区三区| 日韩精品中文在线观看| 伊人网综合视频| 激情综合五月| 欧美日韩国产一区二区三区地区| 欧美丰满熟妇bbbbbb百度| 午夜小视频在线观看| 国产精品毛片大码女人| 免费在线成人av| 欧美 日韩 国产 成人 在线| 蜜臀国产一区二区三区在线播放| 日本国产精品视频| 精品91久久久| 极品日韩av| 欧美人成在线视频| www.色小姐com| 香蕉av一区二区 | 手机在线免费观看av| 中文乱码免费一区二区| 日本一区视频在线播放| 日韩专区一区二区| 91蝌蚪porny| 久久久久久久久久久久久久一区| 熟妇人妻av无码一区二区三区| 国产精品中文字幕欧美| 96sao精品视频在线观看| 在线免费一级片| 久久黄色级2电影| 国产精品视频久| 亚洲天堂中文在线| 久久97超碰色| 亚洲一区二区中文| 亚洲AV无码精品国产| 国产传媒欧美日韩成人| 高清国语自产拍免费一区二区三区| 国产成人三级在线播放| 国产99久久精品| 精品国产二区在线| 天堂av在线7| 卡通动漫国产精品| 国产模特精品视频久久久久| 国内精品一区二区三区| 亚洲欧美在线视频免费| 久久大逼视频| 国产精品久久久久高潮| 在线免费a视频| 国产一区二区三区综合| 不卡一区二区三区视频| 亚洲 精品 综合 精品 自拍| 久久美女高清视频| 亚洲激情图片| a毛片在线看免费观看| 一区二区三区日韩在线观看| 成人免费网站入口| 亚洲人体视频| 欧美亚洲国产一区在线观看网站| 日本黄大片一区二区三区| 成人国产精品一区二区网站| 日韩精品在线一区| 国产精品1000部啪视频| 全球成人免费直播| 欧美国产视频一区二区| 国产成人愉拍精品久久| 日韩va亚洲va欧美va久久| 91性高湖久久久久久久久_久久99| www.国产视频| 久久精品人人做人人综合| 在线观看成人av| 国产h片在线观看| 欧美午夜一区二区三区| 午夜福利三级理论电影| 精品国产一级毛片| 色综合天天综合网国产成人网| 久久精品无码av| 国产精品一区专区| 日本一区二区三区四区在线观看| 成视频免费观看在线看| 日韩欧美中文第一页| 五月花丁香婷婷| 五月国产精品| 久久高清视频免费| 麻豆久久久久久久久久| 老司机午夜免费精品视频| 97品白浆高清久久久久久| 欧美探花视频资源| 国产日韩视频一区| 日韩欧美精品一区| 国产91成人video| 国产夫绿帽单男3p精品视频| 91碰在线视频| 路边理发店露脸熟妇泻火| 成人免费看黄| 欧美精品一区二区在线播放 | 欧美国产97人人爽人人喊| 国产乱子伦精品视频| 国产第一精品| 亚洲人成电影网站色www| 国产一级淫片a| 国内精品视频一区二区三区八戒| 日本黄网免费一区二区精品| 欧美aaaaaaa| 91精选在线观看| 国产精品成人在线视频| 午夜亚洲视频| 精品国产免费人成电影在线观... 精品国产免费久久久久久尖叫 | 精品成人a区在线观看| 日韩在线观看免| 日本成人超碰在线观看| 久久影院理伦片| 黄色在线免费观看网站| 精品国产一区二区亚洲人成毛片| 天天色影综合网| 精品一区二区三区在线观看国产| 欧美日韩喷水| 欧美黑人一区| 亚洲美女久久久| 九九九在线观看| 91美女蜜桃在线| 日韩a∨精品日韩在线观看| 999在线精品| 久久久久久久一区二区三区| 精品久久无码中文字幕| 亚洲欧美日韩小说| 欧美一级小视频| 午夜精品毛片| 亚洲最大成人在线| 男女视频在线| 亚洲成人av在线播放| 不卡的免费av| 97久久人人超碰| 91黄色小网站| sdde在线播放一区二区| 国产一区红桃视频| 影音先锋男人在线资源| 亚洲国产精品久久久久| 日韩欧美亚洲视频| 久久精品一区二区三区av | 精品一区二区在线视频| ijzzijzzij亚洲大全| 日本在线成人| 国内免费久久久久久久久久久| 丰满少妇被猛烈进入| 一区二区三区**美女毛片| 91精品啪在线观看国产| 免费看亚洲片| 亚洲精品成人自拍| 欧美成人一级| 2019国产精品自在线拍国产不卡| 欧洲免费在线视频| 欧美久久一二区| 久久久精品91| 久久久久久免费毛片精品| 色悠悠久久综合网| 欧美精品二区| 久久精品中文字幕一区二区三区| 九九九伊在线综合永久| 久久久精品在线| 亚洲 欧美 自拍偷拍| 欧美日韩小视频| 黄网站免费在线| 国产日韩亚洲欧美综合| 亚洲第一成肉网| 亚洲大黄网站| 亚洲人成影视在线观看| 成人在线视频中文字幕| 国产精品美女在线| 不卡一本毛片| 中文字幕在线亚洲| 欧美一区二区三区黄片| 欧美日韩视频专区在线播放| 久久精品久久精品久久| 国产精品三级视频| 日韩精品视频一区二区| 麻豆精品一二三| 波多野结衣家庭教师在线| 91成人精品| 欧美一区二区三区电影在线观看 | 久久精品国产秦先生| 亚洲熟妇无码一区二区三区导航| 成人羞羞动漫| 激情小说综合区| 精品国产乱码一区二区三区| 日本亚洲精品在线观看| 嗯~啊~轻一点视频日本在线观看| 日韩在线播放av| 韩国中文字幕2020精品| 精品国产欧美一区二区| 国产精品嫩草影院精东| 日韩欧美中文在线| 国产在线观看免费av| 综合激情成人伊人| 国产精品天天干| 92精品国产成人观看免费| 精品人妻一区二区三区免费| 蜜臀国产一区二区三区在线播放| 日本精品一区二区三区四区| 激情欧美丁香| 日本丰满大乳奶| 欧美h版在线| 日韩欧美亚洲区| 一区二区三区日本久久久 | 成人免费a**址| 蜜桃狠狠色伊人亚洲综合网站| 最新精品在线| 97碰碰视频| 精品国产亚洲一区二区在线观看| 国产精品一区二区三| 成人mm视频在线观看| 国产99视频在线观看| 新版的欧美在线视频| 97在线视频观看| 97在线超碰| 午夜精品一区二区三区在线 | 91亚洲国产| 亚洲春色在线视频| 日韩精品看片| 亚洲欧美久久久久一区二区三区| 成人激情诱惑| 一区二区国产日产| 午夜精品视频一区二区三区在线看| 中文字幕日韩精品一区二区| 日韩一区二区在线| 亚洲欧美日韩综合一区| 日韩精品首页| 天堂av免费看| 综合一区二区三区| 人妻无码一区二区三区四区| 国产精品成人一区二区网站软件| 国产青草视频在线观看| 激情欧美日韩| 国产免费黄视频| 日本亚洲三级在线| www.色就是色.com| 国产高清亚洲一区| 野战少妇38p| 99国产麻豆精品| 亚欧洲乱码视频| 国产精品久久一级| 欧美国产日韩综合| 亚洲国产视频网站| 少妇太紧太爽又黄又硬又爽| 一本大道久久a久久精品综合| 人妻 日韩精品 中文字幕| 在线观看国产精品网站| 夜夜狠狠擅视频| 欧美成人性福生活免费看| 天天爽夜夜爽夜夜爽| 亚洲色图美腿丝袜| av在线免费网站| 538国产精品视频一区二区| 桃子视频成人app| 95av在线视频| 综合亚洲自拍| 欧美性视频在线播放| 好吊一区二区三区| 日韩精品无码一区二区三区免费| 久久精品国产99国产| 久久国产劲爆∧v内射| 国产三区在线成人av| 在线免费日韩av| 色哟哟一区二区在线观看| 国产精品亚洲lv粉色| 精品1区2区在线观看| 国产黄色片在线播放| 久久99久久亚洲国产| 欧美日韩女优| 成人欧美一区二区三区视频xxx| 亚洲人亚洲人色久| 国产一二三四五| 日韩专区在线视频| 精品久久久久久无码人妻| 国产欧美一区二区精品久导航 | 国产高清免费在线播放| 久久99亚洲热视| 亚洲爱爱视频| 国产一区二区在线观看免费播放| 手机在线一区二区三区| 中文字幕无码精品亚洲35| 国产一区二区按摩在线观看| 六月婷婷七月丁香| 亚洲va天堂va国产va久| 亚洲一级av毛片| 亚洲欧美中文日韩在线v日本| 日本电影在线观看| 成人免费大片黄在线播放| 九九综合久久| 拔插拔插海外华人免费| 精品一区二区综合| 一级肉体全黄裸片| 欧美视频在线视频| 丰满大乳国产精品| 久久在线免费视频| 99久久精品一区二区成人| 蜜桃av噜噜一区二区三| 99视频+国产日韩欧美| 午夜诱惑痒痒网| 中文字幕制服丝袜一区二区三区| 国产视频1区2区| 精品视频在线播放免| 国产探花在线观看| a级国产乱理论片在线观看99| 日韩欧美大片| 天天干天天爽天天射| 久久久久久97三级| 美女又爽又黄免费视频| 亚洲第一网站男人都懂| 污污网站在线观看| 亚洲xxxx在线| 欧美日韩国产亚洲一区| 日本黄色的视频| 中文字幕在线不卡一区| 中文字幕在线观看免费| 最近免费中文字幕视频2019| 91精品国产66| 亚洲国产一区二区三区在线播| 视频一区国产视频| 欧美日韩高清丝袜| 色婷婷亚洲综合| 激情视频在线观看免费| 国产成人久久久精品一区| 女厕嘘嘘一区二区在线播放| 欧美黄网站在线观看| 久久这里只有精品视频网| 国产毛片aaa| 亚洲欧美中文在线视频| 澳门av一区二区三区| 亚洲蜜桃av| 精久久久久久久久久久| 在线看的片片片免费| 欧美一区二区福利视频| 国产盗摄一区二区| 国产乱码一区| 西西裸体人体做爰大胆久久久| 久久久久久久久久久国产精品| 色偷偷一区二区三区| 一级毛片视频在线| 亚洲综合中文字幕在线观看| 伊人激情综合| 一卡二卡三卡四卡| 欧美日韩aaa| 四虎av在线| 免费久久一级欧美特大黄| 天堂在线一区二区| 欧美激情精品久久久久久免费 | 波多野结衣免费观看| 亚洲伊人伊色伊影伊综合网 | 色先锋资源久久综合5566| 国产一区二区三区免费观看在线| 久久男人资源站| 久久这里只有精品6| 国产精品一区二区免费视频 | 香蕉视频一区二区| 亚洲欧美日韩视频一区| 久久精品xxxxx| 99在线免费视频观看| 久久亚洲综合av| 国产强伦人妻毛片| 欧美一级淫片播放口| 91一区二区三区四区| 69亚洲乱人伦| 欧美系列日韩一区| 激情网站在线| 日韩影片在线播放| 国产 日韩 欧美大片| 天天干,天天干| 欧美黑人性猛交| 欧美一区二区三区高清视频| 2025中文字幕| 欧美日韩一区二区在线观看视频 | 久久激情电影|