国产99久久精品_欧美日本韩国一区二区_激情小说综合网_欧美一级二级视频_午夜av电影_日本久久精品视频

最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當前位置: 首頁 - 科技 - 知識百科 - 正文

使用node.js半年來總結的10條經驗_node.js

來源:懂視網 責編:小采 時間:2020-11-27 21:26:19
文檔

使用node.js半年來總結的10條經驗_node.js

使用node.js半年來總結的10條經驗_node.js:先不說房價,堵車,霧霾。先說說我這半年使用 Node.js 的經驗吧。都是工作上遇到的問題,血的教訓。 1.精確版本號 一定要精確到具體版本號!使用*直接滾,^和~都不行!,早上剛到公司,我們服務器的頭頭滿眼血絲(估計又凌晨幾點睡的),對我抱
推薦度:
導讀使用node.js半年來總結的10條經驗_node.js:先不說房價,堵車,霧霾。先說說我這半年使用 Node.js 的經驗吧。都是工作上遇到的問題,血的教訓。 1.精確版本號 一定要精確到具體版本號!使用*直接滾,^和~都不行!,早上剛到公司,我們服務器的頭頭滿眼血絲(估計又凌晨幾點睡的),對我抱

先不說房價,堵車,霧霾。。先說說我這半年使用 Node.js 的經驗吧。。都是工作上遇到的問題,血的教訓。

1.精確版本號

“一定要精確到具體版本號!使用*直接滾,^和~都不行!”,早上剛到公司,我們服務器的頭頭滿眼血絲(估計又凌晨幾點睡的),對我抱怨道:“媽蛋,以前寫的代碼package.json里的版本和服務器正在運行的版本不一樣。安裝最新的又咣咣一頓報錯。”此處省略幾千字。。

好吧。我先打自己臉。以前只會用*。。大多時候也沒必要寫死版本號,使用^和~也可以。掃一下盲:

semver
node.js 中的版本管理

2.測試

一定要寫測試用例。就拿我來說,我負責的那塊包含過濾部分(用正則神馬的過濾文本,提取出有用的文本)。有了測試用例,每次改動過濾規則后,npm test 下,妥妥的。依個人喜好挑選使用的測試模塊,mocha, should, tape, tap, supertest 等等。

嘗試本地運行,測試成功后才上傳到服務器。我好幾次改完代碼(就簡單的改了幾行)以為怎么可能會出問題,結果一重啟服務器就掛了。尼瑪少了括號什么的。這種問題也可以通過使用jslint或jshint等編輯器插件來檢測低級語法錯誤。

服務器代碼備份。目前我使用的方法:起初服務器上有兩個一模一樣的工程(git庫,文件名不一樣),一個正在運行,另一個當作備份。當有代碼改動時,到備份工程下 git pull ,然后停止正在運行的程序,啟動備份的程序。假如程序經過一段時間沒有掛掉也就是感覺比較穩定后,將此工程當作主,另一個工程當作備。當又有改動時,重復以上步驟,主備來回切換。假如程序掛掉了,則切換回較穩定的備即可。

3.使用 debug

寫程序免不了調試,很多人喜歡并習慣用萬能的 console.log() ,包括我。就個人而言,我使用 console.log() 調完后,不是刪掉就是注釋掉。刪掉吧以后也許還會用到,注釋掉吧怪難看。這個時候不妨用用 debug 模塊。暫時沒用過 node-inspector,不做評價。

4.保持代碼精簡

嘗試用較少的代碼完成較多的事情,也是對自己能力的提升與考驗。包括正確的縮進,恰當的變量名,清晰的代碼組織結構等等。代碼精簡了,漂亮了,當出問題了回頭查錯也快,總比先弄明白一團亂糟的代碼干了些什么就花了幾個小時強。

假如團隊沒有使用CoffeeScript的話就不要使用它。一是別人無法讀懂你的代碼幫你糾錯。二是出錯后顯示出錯的行數和coffee代碼的行數不一樣。。自己的開源項目可以用用。

5.多請教,保持獨立思考

剛開始工作的時候,我也各種一頭霧水,包括技術上的不足和業務邏輯上的欠缺,常常請教團隊內的大牛。而后我會嘗試彌補技術上的不足,理清業務上的邏輯。后來有一次,我要根據 PM 的要求設計一個 api,既要考慮用戶的需求(多客戶端的情況),客戶端的需求和行為,數據庫的設計(怎么存冗余少,查詢次數少,易擴展,易修改,差量查詢)等等,考慮了一個周多,幾近崩潰。。雖然我和頭頭商量了好多次,但它總是給我理邏輯,不告訴我方法。后來終于找了一種還算不錯的解決方式。他后來也告訴我,想讓我保持獨立思考去解決問題,這樣才能有提高。

6.使用現有的庫

目前npm上已經有近9W的第三方模塊了,理論上想用的都能在npm上找到,當然npm上不乏非常多的優秀的模塊,文檔全面,使用也非常方便,通常都會滿足需求。假如你發現某個模塊能滿足大部分需求可以有功能上的完善,或有bug,可以去github上提pr,假如你發現沒能找到滿足的模塊的話,可以自己創建個并npm publish到npm上與大家共享。當然你發現某類實現某個功能的模塊都很shit的話,你也可以publish個不shit的。

7.保持簡單

假如你想展示一個餅圖的話,用 HTML5 canvas 或 CSS3 即可,沒必要用 C++ 的 canvas 庫畫一個圖片,“光下載依賴的庫就 400+ MB”,頭頭如是說。

8.良好的文檔

良好的文檔是客戶端與服務器團隊交流的最重要的渠道。文檔寫得明明白白了,假如客戶端請求出錯了,就可以先去查看文檔(比如每個錯誤代碼代表了什么),而不是每次出問題了就來找服務器的人討論。PS: 一些 http 請求示例盡量用 curl 寫,而不是 js 中的對象等的方式,也許你看的很懂,但客戶端的人不懂 js。

9.配置文件

在每個工程目錄下都建一個配置文件,如 config.js/config.json。而不是寫死在代碼里。如:

{
"app": 3000,
"mongo": {
"host": "localhost",
"port": 27017
},
"redis": {
"host": "localhost",
"port": 6379
}
...
}
10.使用 pm2

使用 pm2 等這種進程管理工具,很方便,最不濟進程掛掉了還能自動重啟吶。沒用過 forever 不做評價。還有 grunt 神馬的也沒用過,不做評價。

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

使用node.js半年來總結的10條經驗_node.js

使用node.js半年來總結的10條經驗_node.js:先不說房價,堵車,霧霾。先說說我這半年使用 Node.js 的經驗吧。都是工作上遇到的問題,血的教訓。 1.精確版本號 一定要精確到具體版本號!使用*直接滾,^和~都不行!,早上剛到公司,我們服務器的頭頭滿眼血絲(估計又凌晨幾點睡的),對我抱
推薦度:
標簽: 10 經驗 js
  • 熱門焦點

最新推薦

猜你喜歡

熱門推薦

專題
Top
主站蜘蛛池模板: 国产成人精品综合久久久 | 日本久久网站 | 全部费免一级毛片不收费 | 成人精品视频在线观看播放 | 欧美一区三区 | 欧美精品久久久久久久久大尺度 | 国产精品免费_区二区三区观看 | 国产亚洲欧美精品久久久 | 一区不卡 | 另类专区 亚洲 | 国产在线视频在线 | 99久久成人国产精品免费 | 国产在线午夜 | 五月天婷婷久久 | 国产精品美女久久久久网站 | 日韩黄页 | 中文国产成人精品久久一区 | 精品在线观看免费 | 一区在线观看 | 在线免费观看国产 | a毛片在线 | 91色老99久久九九爱精品 | 国产精品久久久久久永久牛牛 | 国产网站免费 | 国产免费不卡 | 日韩免费一区二区三区在线 | 一区在线观看 | 午夜精品一区二区三区在线视 | 亚洲人一区 | 亚欧成人毛片一区二区三区四区 | 国产精品电影一区二区三区 | 欧美日韩国产va另类试看 | 亚洲欧洲精品成人久久曰影片 | 热久久国产 | 日韩有码在线播放 | 韩国精品在线 | 国产欧美在线观看一区二区 | 亚洲国产日韩欧美一区二区三区 | 国产小视频在线免费观看 | 夜精品a一区二区三区 | 精品在线免费观看 |