摘要:前言沒有任何一名程序員可以一氣呵成完美無缺的在不用調(diào)試的情況下完成一個功能或模塊。調(diào)試實(shí)際分很多種情況。測試我推薦使用,更好的去理解自己的代碼,才是一個合格的程序員。
前言
沒有任何一名程序員可以一氣呵成、完美無缺的在不用調(diào)試的情況下完成一個功能或模塊。調(diào)試實(shí)際分很多種情況。本篇文章我分享下自己在實(shí)際開發(fā)工作中的經(jīng)驗(yàn),我個人理解,調(diào)試分三種,注意我所講的是調(diào)試并非測試
功能調(diào)試
組件調(diào)試
片段調(diào)試
功能調(diào)試是指在完成一個功能或者正在完成功能的過程中進(jìn)行的錯誤、邏輯、結(jié)果的測試
組件調(diào)試是指將一個正在開發(fā)測試的插件、類進(jìn)行錯誤、邏輯和結(jié)果的測試
片段調(diào)試是指將一段代碼片段、函數(shù)、變量的預(yù)期和結(jié)果的測試
接下來我們看下本章列出的一些調(diào)試方法
暴力調(diào)試這種方式簡單粗暴,一般PHP程序員都會用,那就是瀏覽器調(diào)試,在編輯器內(nèi)寫完代碼后隨后打開萬能的瀏覽器輸入地址開始調(diào)試代碼。
斷點(diǎn)調(diào)試說實(shí)在的,這種方式如果僅僅是看看輸出結(jié)果,完全沒必要,看似高大上實(shí)際浪費(fèi)時間經(jīng)歷,一般我都會在代碼塊寫好之后跑一遍debug,檢查一下流程和結(jié)果是否在我的預(yù)期內(nèi)或者遇到了某些邏輯問題無法察覺,還是選擇斷點(diǎn)調(diào)試比較靠譜,省時省力。最厲害的程序員也有懵逼的一刻不是嗎?
命令調(diào)試如果你在官網(wǎng)或者github上下載了一段代碼片段,急于調(diào)試但還不愿意將代碼片段放入項目中或者新開辟一個目錄,完全可以使用php命令去執(zhí)行這個代碼塊
php -f filename.php
如果代碼片段較短,你可以使用
php -r "code ..."
執(zhí)行運(yùn)行PHP代碼
片段調(diào)試當(dāng)你突然想起一個方法或者算法急于去驗(yàn)證它,但又不愿意打開編輯器或者執(zhí)行php自帶的命令行的話。你可以選擇使用psysh工具去執(zhí)行驗(yàn)證你的想法,這個工具安裝十分簡單
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/
測試調(diào)試這是一個嚴(yán)肅的調(diào)試方法,很多程序員都認(rèn)為功能模塊、組件開發(fā)完就結(jié)束的任務(wù),隨后交給測試人員去測試就好了。其實(shí)并不然,有些隱藏的bug或者致命錯誤、邏輯錯誤、系統(tǒng)錯誤(例如開啟了無用的線程,未使用的變量、方法、類等等)是無法被測試出來的。實(shí)際作為一名程序員,開發(fā)功能的流程是這樣的。
理解需求 -> 分解需求 -> 整理邏輯 -> 設(shè)計代碼 -> 敲代碼 -> 調(diào)試 -> 測試
如果最后一步你從來沒有做過,那你只能是半個程序員。 測試我推薦使用PHPunit,更好的去理解自己的代碼,才是一個合格的程序員。
編輯器調(diào)試感覺講這個有點(diǎn)廢話了,如果你感覺打開命令行然后輸入 php xxxx 特別費(fèi)勁的話,你也可以選擇使用編輯器自帶的調(diào)試,一般像sublime,visual Studio Code , PHPStrom 都會自帶的調(diào)試工具,其原理依舊是調(diào)用 php -r 但總比打開命令行輸入命令要快的多。
致謝這并不是一篇醞釀了很久的文章,是在我日常的開發(fā)中經(jīng)常使用的幾種調(diào)試方法。
感謝你看到這里,希望本篇文章可以幫助到你,有什么問題可以在評論區(qū)留言。謝謝
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/29207.html
摘要:怎樣才算是高性能的應(yīng)用性能和速度不是一對同義詞。紅線表示針對速度進(jìn)行了優(yōu)化的腳本,藍(lán)線是可擴(kuò)展性優(yōu)先的腳本。將任何這些功能置于循環(huán)中可能會導(dǎo)致性能問題。完整的代碼檢測評估雖然可能很耗時,但它可以為你提供有關(guān)應(yīng)用程序性能的深入信息。 showImg(https://segmentfault.com/img/bVNxDn?w=900&h=500);程序員都喜歡最新的PHP 7,因?yàn)樗筆H...
摘要:是一個的運(yùn)行時開發(fā)平臺,交互式調(diào)試器和。說的簡單點(diǎn)就跟你用的時候的調(diào)試你的代碼一樣。輕松地列出并搜索所有的變量,常量,類,接口,特點(diǎn),功能,方法和屬性。詳情運(yùn)行命令查看。退出使用命令退出你的致敬原文地址 >>> PsySH A runtime developer console, interactive debugger and REPL for PHP. PsySH是一個PHP的運(yùn)行...
閱讀 3118·2021-11-15 18:14
閱讀 1773·2021-09-22 10:51
閱讀 3283·2021-09-09 09:34
閱讀 3505·2021-09-06 15:02
閱讀 1013·2021-09-01 11:40
閱讀 3186·2019-08-30 13:58
閱讀 2523·2019-08-30 11:04
閱讀 1081·2019-08-28 18:31