摘要:前言没有任何一名程序员可以一气呵成完美无缺的在不用调试的情况下完成一个功能或模块。调试实际分很多种情况。测试我推荐使用,更好的去理解自己的代码,才是一个合格的程序员。
前言
没有任何一名程序员可以一气呵成、完美无缺的在不用调试的情况下完成一个功能或模块。调试实际分很多种情况。本篇文章我分享下自己在实际开发工作中的经验,我个人理解,调试分三种,注意我所讲的是调试并非测试
功能调试
组件调试
片段调试
功能调试是指在完成一个功能或者正在完成功能的过程中进行的错误、逻辑、结果的测试
组件调试是指将一个正在开发测试的插件、类进行错误、逻辑和结果的测试
片段调试是指将一段代码片段、函数、变量的预期和结果的测试
接下来我们看下本章列出的一些调试方法
暴力调试这种方式简单粗暴,一般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 但总比打开命令行输入命令要快的多。
致谢这并不是一篇酝酿了很久的文章,是在我日常的开发中经常使用的几种调试方法。
感谢你看到这里,希望本篇文章可以帮助到你,有什么问题可以在评论区留言。谢谢
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/29207.html
摘要:怎样才算是高性能的应用性能和速度不是一对同义词。红线表示针对速度进行了优化的脚本,蓝线是可扩展性优先的脚本。将任何这些功能置于循环中可能会导致性能问题。完整的代码检测评估虽然可能很耗时,但它可以为你提供有关应用程序性能的深入信息。 showImg(https://segmentfault.com/img/bVNxDn?w=900&h=500);程序员都喜欢最新的PHP 7,因为它使PH...
摘要:是一个的运行时开发平台,交互式调试器和。说的简单点就跟你用的时候的调试你的代码一样。轻松地列出并搜索所有的变量,常量,类,接口,特点,功能,方法和属性。详情运行命令查看。退出使用命令退出你的致敬原文地址 >>> PsySH A runtime developer console, interactive debugger and REPL for PHP. PsySH是一个PHP的运行...
阅读 3092·2021-11-15 18:14
阅读 1753·2021-09-22 10:51
阅读 3249·2021-09-09 09:34
阅读 3457·2021-09-06 15:02
阅读 991·2021-09-01 11:40
阅读 3172·2019-08-30 13:58
阅读 2505·2019-08-30 11:04
阅读 1064·2019-08-28 18:31