沒有任何一名程序員可以一氣呵成、完美無缺的在不用調試的情況下完成一個功能或模塊。調試實際分很多種情況。本篇文章我分享下自己在實際開發工作中的經驗,我個人理解,調試分三種,注意我所講的是調試并非測試
功能調試
組件調試
片段調試
功能調試是指在完成一個功能或者正在完成功能的過程中進行的錯誤、邏輯、結果的測試
組件調試是指將一個正在開發測試的插件、類進行錯誤、邏輯和結果的測試
片段調試是指將一段代碼片段、函數、變量的預期和結果的測試
接下來我們看下本章列出的一些調試方法
暴力調試
這種方式簡單粗暴,一般PHP程序員都會用,那就是瀏覽器調試,在編輯器內寫完代碼后隨后打開萬能的瀏覽器輸入地址開始調試代碼。
斷點調試
說實在的,這種方式如果僅僅是看看輸出結果,完全沒必要,看似高大上實際浪費時間經歷,一般我都會在代碼塊寫好之后跑一遍debug,檢查一下流程和結果是否在我的預期內或者遇到了某些邏輯問題無法察覺,還是選擇斷點調試比較靠譜,省時省力。最厲害的程序員也又懵逼的一刻不是嗎?
命令調試
如果你在網址或者github上下載了一段代碼片段,急于調試但是還不愿意將代碼片段放入項目中或者新開辟一個目錄,完全可以使用php命令去執行這個代碼塊
php -f filename.php
如果代碼片段較短你可以使用
php -r code ...
執行運行PHP代碼
片段調試
當你突然想起一個方法或者算法急于去驗證他,但又不愿意打開編輯器或者執行php自帶的命令行的話。你可以選擇使用psysh工具去執行驗證你的想法,這個工具安裝十分簡單
Psy Shell v0.8.17 (PHP 7.1.14 — cli) by Justin HilemanNew version is available (html' target='_blank'>current: v0.8.17, latest: v0.9.6) date( Y-m-d H:i:s ,time())= 2018-08-09 14:18:10
下載地址 : https://psysh.org/
測試調試
這是一個嚴肅的調試方法,很多程序員都認為功能模塊、組件開發完就結束的任務,隨后交給測試人員去測試就好了。其實并不然,有些隱藏的bug或者致命錯誤、邏輯錯誤、系統錯誤(例如開啟了無用的線程,未使用的變量、方法、類等等)是無法被測試出來的。實際作為一名程序員,開發功能的流程是這樣的。
理解需求 - 分解需求 - 整理邏輯 - 設計代碼 - 敲代碼 - 調試 - 測試
如果最后一步你從來沒有做過,那你只能是半個程序員。 測試我推薦使用PHPunit,更好的去理解自己的代碼,才是一個合格的程序員。
編輯器調試
感覺講這個有點廢話了,如果你感覺打開命令行然后輸入 php xxxx 特別費勁的話,你也可以選擇使用編輯器自帶的調試,一般像sublime,visual Studio Code , PHPStrom 都會自帶的調試工具,其原理依舊是調用 php -r 但總比打開命令行輸入命令要快的多。
相關推薦:
PHP中抽象方法以及抽象類與接口的簡單介紹
php中非轉發調用以及轉發調用的代碼實例
以上就是如何調試PHP代碼?php代碼調試的方法總結(推薦)的詳細內容,PHP教程
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。
新聞熱點
疑難解答