沒有任何一名程序員能夠一鼓作氣、天衣無縫的在不用調試的狀況下完成一個功能或模塊。調試實際分不少種狀況。本篇文章我分享下本身在實際開發工做中的經驗,我我的理解,調試分三種,注意我所講的是調試並不是測試php
功能調試是指在完成一個功能或者正在完成功能的過程當中進行的錯誤、邏輯、結果的測試git
組件調試是指將一個正在開發測試的插件、類進行錯誤、邏輯和結果的測試程序員
片斷調試是指將一段代碼片斷、函數、變量的預期和結果的測試github
接下來咱們看下本章列出的一些調試方法算法
這種方式簡單粗暴,通常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 Hileman New version is available (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
但總比打開命令行輸入命令要快的多。
這並非一篇醞釀了好久的文章,是在我平常的開發中常用的幾種調試方法。感謝你看到這裏,但願本篇文章能夠幫助到你,有什麼問題能夠在評論區留言。謝謝