亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

node.js學習總結之調式代碼的方法

 更新時間:2014年06月25日 14:49:00   投稿:hebedich  
調式代碼很多時候類似于查案一樣,只是結果的重要程度不同,警察查案為的是人民安穩(wěn),而我們調式則是為了系統(tǒng)的安穩(wěn)。既然這樣我們就不要冤枉任何一段代碼和程序,以免他們受到不合理的懲罰。

前言

你有沒有曾經調式某段代碼時,總覺得世界上有鬼?

你有沒有曾經調式API時,總感覺是調用第三方的接口問題或者文檔說明不對?

你有沒有曾經調式一個bug 時,總感覺問題的來源是使用的方式不對?

你有沒有在安裝一個服務時,總感覺文檔或者環(huán)境不相符合?

相信過程和方法,切勿被結果誤導 ............

概述

調式代碼很多時候類似于查案一樣,只是結果的重要程度不同,警察查案為的是人民安穩(wěn),而我們調式則是為了系統(tǒng)的安穩(wěn)。既然這樣我們就不要冤枉任何一段代碼和程序,以免他們受到不合理的懲罰。

以下的一些過程方法都來自于個人的總結,從個人角度說前人的一些方法都是經過長期的經驗積累,當然參考性理論性都比較強,而作為個人的方法,則可能更適合像我等 DS 。

測試方法

代碼過程式調式方法

代碼調式首先要注意的是過程,你必須要理清楚導致最終結果的思路,也就是作案的過程,從作案過程中的一步步跟進得到作案結果。在作案過程分析中對于每一個疑點都必須打上標記(也就是代碼中所提到的 log 信息)。經過這樣的分析過程后,再進行黑盒測試,添加輸入,驗證結果。最終根據每一步的標記來驗證你的判斷,從而找到原因。

以上的方案是一種過程式的調式方式。這種方式的優(yōu)點不言而喻,直接可以通過一個測試就可以分析清楚整個過程,但是這種方式很耗時間,理清楚自己的代碼邏輯尚可,而想要理清楚他人邏輯代碼則可要難于上青天。

單元測試調式方法

單元測試的基本目的是保證某個函數、類或者某個功能模塊的正常運作,包括其異常情況的測試驗證。而作為程序員最喜歡的驗證方式莫過于“打樁”(打樁的含義就是提供假默認數據),這種方式調式起來非常方便,但是有一個不利的地方就是無法再次利用,因為在我們驗證正常以后,很多開發(fā)人員都會將其注釋或者刪除,因此如果我們在開發(fā)環(huán)境開發(fā)完成,但我們希望在測試環(huán)境驗證時,則必須又要重新寫一篇打樁邏輯,那么這樣看,到現網時,則會更加的麻煩。既然這么多不便,你可以嘗試下面的做法。

添加一個單元測試類,這個類需要控制其權限,只有通過后臺登錄或者是命令行才可以執(zhí)行,該類承載的作用就是對系統(tǒng)的關鍵邏輯進行檢測,并且做出相應的測試輸出結果。要相信所有的接口類都是可以通過單元測試類去完成測試的。很多時候程序員在質疑,這件事情是不是應該我們做?其實還真是需要我們去做,畢竟很多測試現在做的都是黑盒測試。

這種調式方法適合在開發(fā)過程中,并且可以保證我們現網的代碼發(fā)布后運行正常。希望大家在計劃開發(fā)時間時也將該過程并于開發(fā)階段。

快速定位法

前面兩個那么復雜的過程太理想化了?我的代碼就只有 100 行,并且系統(tǒng)也不復雜。如果是這樣的話,那么就快速的進行定位分析。很多時候會遇到

1、輸入正常,輸出異常;

2、輸入正常,邏輯異常,輸出異常;

3、輸入異常,邏輯正常,輸出正常;

4、輸入異常,邏輯異常,輸出無。

在個人的開發(fā)過程中,我經常會遇到上面的某種類型的問題,比如在 Node.js 開發(fā)過程中,遇到 string.length 提示 string 沒有 length 方法。當時就昏頭的在問自己,為什么其他 string 都有 length 方法,為什么這個就沒有呢?應該很多同學都知道問題就在于這個 string 根本就不是 string ,只是說你自己把它理想化為 string 了,也就是你輸入的本來就有問題。那么定位這個問題的最好辦法就是打印輸入,打印輸出即可。

可能其他的程序沒有這么簡單,但是最基本的就是在主函數中的會遇到異常的函數都進行輸入輸出判斷,那樣就可以快速的定位。

切記:不要斷章取義,自以為是。

上面的方法以及過程都只是基于 PHP 或者 Node.js 總結出來的,對于 C & C++ 可能存在相似或者相異處。不喜勿噴,且看且珍惜吧。

相關文章

  • Nodejs?http模塊返回內容中文亂碼問題及解決

    Nodejs?http模塊返回內容中文亂碼問題及解決

    這篇文章主要介紹了Nodejs?http模塊返回內容中文亂碼問題及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • nodejs簡單實現操作arduino

    nodejs簡單實現操作arduino

    本文給大家分享的是使用nodejs來驅動arduino,主要是基于cylonjs 和 gort,有需要的小伙伴可以參考下
    2016-09-09
  • 手把手帶你搭建一個node cli的方法示例

    手把手帶你搭建一個node cli的方法示例

    這篇文章主要介紹了手把手帶你搭建一個node cli的方法示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-08-08
  • 詳解node.js中的npm和webpack配置方法

    詳解node.js中的npm和webpack配置方法

    Node.js用c++語言編寫而成的,是一個基于chrome V8引擎的javascript運行環(huán)境。這篇文章主要介紹了詳解node.js中的npm和webpack配置,需要的朋友可以參考下
    2018-01-01
  • 淺談Nodejs觀察者模式

    淺談Nodejs觀察者模式

    這篇文章主要介紹了淺談Nodejs觀察者模式的相關資料,需要的朋友可以參考下
    2015-10-10
  • node中的__filename和__dirname的使用詳解

    node中的__filename和__dirname的使用詳解

    本文主要介紹了node中的__filename和__dirname的使用詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-03-03
  • nodeJS進程管理器pm2的使用

    nodeJS進程管理器pm2的使用

    這篇文章主要介紹了nodeJS進程管理器pm2的使用,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-01-01
  • NodeJS前端自動化部署實現實例詳解

    NodeJS前端自動化部署實現實例詳解

    這篇文章主要為大家介紹了NodeJS前端自動化部署實現實例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-10-10
  • Node的stream數據流你了解嗎

    Node的stream數據流你了解嗎

    這篇文章主要為大家詳細介紹了Node的stream數據流,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-02-02
  • nodejs根據ip數組在百度地圖中進行定位

    nodejs根據ip數組在百度地圖中進行定位

    本文主要介紹了nodejs根據ip數組在百度地圖中進行定位的方法,具有很好的參考價值。下面跟著小編一起來看下吧
    2017-03-03

最新評論