#寫好業(yè)務(wù)代碼#2.開(kāi)發(fā)環(huán)境標(biāo)準(zhǔn)化

本文集說(shuō)的都是些平凡的小事,但往往是這些小事區(qū)分了產(chǎn)品的偉大與平庸。

1.雜談開(kāi)發(fā)環(huán)境標(biāo)準(zhǔn)化

(1)論開(kāi)發(fā)工具的重要性

1935年,特斯拉在其實(shí)驗(yàn)室打了一個(gè)深井,并在井內(nèi)下了鋼套管.然后,他將井口堵塞好,并向井內(nèi)輸入不同頻率的振動(dòng).奇妙的是,在特定的頻率時(shí),地面就會(huì)突然發(fā)生強(qiáng)烈的振動(dòng),并造成了周圍房屋的倒塌.當(dāng)時(shí)的一些雜志評(píng)論說(shuō):“特斯拉利用一次人工誘發(fā)的地震,幾乎將紐約夷為了平地”.這就是著名的特斯拉實(shí)驗(yàn).這種小輸入強(qiáng)輸出的超級(jí)傳輸效應(yīng)稱為特斯拉效應(yīng).

—— 尼古拉·特斯拉,把地球劈成兩半

特斯拉他老人家用這個(gè)共振實(shí)驗(yàn)形象的詮釋了“小輸入,強(qiáng)輸出”的特征——開(kāi)發(fā)工具對(duì)于程序猿的價(jià)值既如此。

圖1

(2)論標(biāo)準(zhǔn)化的重要性

在集裝箱被發(fā)明出來(lái)前,世界各地當(dāng)然也進(jìn)行著商品貿(mào)易和運(yùn)輸,只是那時(shí)整個(gè)過(guò)程是緩慢而艱難的。裝卸貨物要依靠大量的搬運(yùn)工人,碼頭從早到晚人潮涌動(dòng),貨物長(zhǎng)時(shí)間堆積在港口倉(cāng)庫(kù),等到有空船到達(dá),工人們便開(kāi)始像螞蟻搬家一樣,將堆成小山的貨物裝進(jìn)麻袋、桶、捆包或者板條箱中,一件一件搬運(yùn)到船上。港口延誤和堵塞是家常便飯,有時(shí)裝卸一艘大船要花上整整一個(gè)星期,費(fèi)力費(fèi)時(shí)又費(fèi)錢。這種樸素的運(yùn)輸方法沿用了好幾個(gè)世紀(jì),直到“集裝箱之父”馬爾科姆·麥克萊恩(Malcom McLean)徹底改變了它。

《如果卡車沒(méi)有車輪—— 集裝箱發(fā)明史》

集裝箱的發(fā)明就是工具標(biāo)準(zhǔn)化最好的例子——也是開(kāi)發(fā)工具標(biāo)準(zhǔn)化的意義。

開(kāi)發(fā)工具本身具備多樣性,某種語(yǔ)言的IDE一定是層出不窮的,某種配置管理工具也一定是此消彼長(zhǎng)的,同一個(gè)團(tuán)隊(duì)不同的程序猿,使用不同工具帶來(lái)的就是一堆弱智、繁瑣的破事。

來(lái),看圖說(shuō)話,感受一下標(biāo)準(zhǔn)與不標(biāo)準(zhǔn)的差異

圖2
圖3

2.開(kāi)發(fā)環(huán)境全景圖

(1)全景圖

本文僅以BS開(kāi)發(fā)為例(Vue+SpringBoot),移動(dòng)端、CS一個(gè)意思,歡迎愛(ài)好者繼續(xù)補(bǔ)充

圖4

(2)開(kāi)發(fā)工具集簡(jiǎn)介

感謝度娘,感謝百度百科

WebStorm:WebStorm 是jetbrains公司旗下一款JavaScript 開(kāi)發(fā)工具。目前已經(jīng)被廣大中國(guó)JS開(kāi)發(fā)者譽(yù)為“Web前端開(kāi)發(fā)神器”、“最強(qiáng)大的HTML5編輯器”、“最智能的JavaScript IDE”等。與IntelliJ IDEA同源,繼承了IntelliJ IDEA強(qiáng)大的JS部分的功能。

Chrome調(diào)試工具:Chrome瀏覽器自帶的調(diào)試工具,能夠方便的對(duì)JS進(jìn)行在線調(diào)試,在應(yīng)用市場(chǎng)中還提供了豐富的調(diào)試插件。

Vue插件:Chrome瀏覽器插件,支持方便的調(diào)試Vue組件。

NodeJS:Node.js 是一個(gè)基于 Chrome V8 引擎的 JavaScript 運(yùn)行環(huán)境。 Node.js 使用了一個(gè)事件驅(qū)動(dòng)、非阻塞式 I/O 的模型。

npm:NPM的全稱是Node Package Manager [1]? ,是一個(gè)NodeJS包管理和分發(fā)工具,已經(jīng)成為了非官方的發(fā)布Node模塊(包)的標(biāo)準(zhǔn)。如果你熟悉ruby的gem,Python的pypi、setuptools,PHP的pear,那么你就知道NPM的作用是什么了。

Webpack:本質(zhì)上,webpack 是一個(gè)現(xiàn)代 JavaScript 應(yīng)用程序的靜態(tài)模塊打包器(module bundler)。當(dāng) webpack 處理應(yīng)用程序時(shí),它會(huì)遞歸地構(gòu)建一個(gè)依賴關(guān)系圖(dependency graph),其中包含應(yīng)用程序需要的每個(gè)模塊,然后將所有這些模塊打包成一個(gè)或多個(gè) bundle。

IDEA:IDEA 全稱 IntelliJ IDEA,是java編程語(yǔ)言開(kāi)發(fā)的集成環(huán)境。IntelliJ在業(yè)界被公認(rèn)為最好的java開(kāi)發(fā)工具之一,尤其在智能代碼助手、代碼自動(dòng)提示、重構(gòu)、J2EE支持、各類版本工具(git、svn等)、JUnit、CVS整合、代碼分析、 創(chuàng)新的GUI設(shè)計(jì)等方面的功能可以說(shuō)是超常的。IDEA是JetBrains公司的產(chǎn)品,這家公司總部位于捷克共和國(guó)的首都布拉格,開(kāi)發(fā)人員以嚴(yán)謹(jǐn)著稱的東歐程序員為主。它的旗艦版本還支持HTML,CSS,PHP,MySQL,Python等。免費(fèi)版只支持Python等少數(shù)語(yǔ)言。

Postman:restful接口的調(diào)測(cè)工具。Manage all of your organization's APIs in Postman, with the industry's most complete API development environment.

Maven:Maven項(xiàng)目對(duì)象模型(POM),可以通過(guò)一小段描述信息來(lái)管理項(xiàng)目的構(gòu)建,報(bào)告和文檔的項(xiàng)目管理工具軟件。

JDK:JDK是 Java 語(yǔ)言的軟件開(kāi)發(fā)工具包,主要用于移動(dòng)設(shè)備、嵌入式設(shè)備上的java應(yīng)用程序。JDK是整個(gè)java開(kāi)發(fā)的核心,它包含了JAVA的運(yùn)行環(huán)境(JVM+Java系統(tǒng)類庫(kù))和JAVA工具。

(3)操作視頻

下面來(lái)到各位程序猿小哥哥最喜歡的環(huán)節(jié),再次感謝程序媛小姐姐Bazinga-GG提供的操作小視頻。


Webstrom安裝

nodejs

Chrome以及Vue插件

Git安裝

SourceTree安裝

GitHub

nexus

java安裝指導(dǎo)

IDEA安裝

postman安裝

maven安裝

3.總結(jié)

本文通過(guò)一個(gè)典型的Vue+SpringBoot技術(shù)棧為例,展示了如何達(dá)到開(kāi)發(fā)環(huán)境標(biāo)準(zhǔn)化。

最后,我們用魯迅先生的話結(jié)束本文:“規(guī)范千萬(wàn)條,工具第一條。工具不標(biāo)準(zhǔn),親人兩行淚”

圖5
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容