作为一枚程序猿,BUG调试是最基本的技能,对于初学者更是重中之重。个人而言,要想为自己的程序猿生涯更上一层楼,就得知道什么是BUG调试,而且还必须知道怎么调好BUG。那么BUG究竟是什么呢?在我之前的一篇关于BUG的论述《朋友,请待你的朋友——BUG好一点!》已经说得很清楚了。BUG作为一类寄生于程序猿体内的“昆虫”,其实它并不可怕。可怕的是,当我们捕获一只BUG时却不知怎么处理它。

  1.对于HTML/CSS而言,如果页面布局出现了BUG,一般而言,这类BUG的攻击力最低。对于一个初学者来说,你可以打开你浏览器的“控制台”(以Chrome为例,F12即可调出),你可以在控制台通过键盘的上下键来慢慢调试,等到出现理想的页面效果之后,复制控制台的CSS代码到你的项目中即可。当然,这种调试方法的前提是你对自己的布局有足够的信心,倘若你布局还有一些问题,那么请打开“百度”搜索你出现的BUG,但是你的描述要足够简洁,如“高度塌陷”等(之后的随笔我也会更新与这方面的内容);

  2.对于Javascript而言,如果你的逻辑出了BUG,那么只有一个方法,打开你的JS代码,全选之后删除,重新梳理自己的逻辑,并用笔纸记录下你的逻辑,重新敲一遍之前的代码,当然这种方法对于代码量不大的一些项目,如果是对于代码量非常大,那么这种方法实施的前提是你的项目预留时间非常足够,否则无能为力。当你的逻辑跟清晰,那么就可以从头开始“读”代码,而且是认真的“读”,将每一步之后的结果输出到控制台(javascript是用console.log()一类方法),不要怕麻烦,直到找出BUG为止;

  3.对于其他开发语言,也可以用类似的方法,一边梳理逻辑,一边“读”代码,将参数、元素、类依次输出,检查是否出现了问题。其实,从一定程度上来讲,这是一种思维的建立过程,对于初学者来说,这种思维足够重要。

  一个“老司机”程序猿,可以简化上述方法,因为在他们的脑海中早已对自己的项目(逻辑)了如指掌。也就是说,对于初学者而言,只要你足够熟练,你也可以轻轻松松处理好你的BUG,BUG调试也是So easy!

论 BUG调试与(程序猿)初学者的更多相关文章

  1. 漫谈程序猿系列:无BUG不生活

    watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZm9ydW9r/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/d ...

  2. 关于程序猿怎样降低程序Bug的若干建议

    毫无疑问,程序猿是善于思考问题的一族. 一个程序的编写都是通过:思考.设计.编写.调试.測试以及执行这些主要的阶段. 但大部分程序猿都有一个问题就是不太愿意測试自己的代码. 他们草草的调式完毕以后就觉 ...

  3. 程序猿制造Bug的根本原因竟然是....

    传说中: 「杀一个程序猿不需要用枪,改三次需求就可以了.」 而且, 「这竟然也是程序猿制造Bug的根本原因....」 ↓↓↓↓↓↓↓ #/原始需求/#   你去饭店,坐下来. “服务员,给我来份宫保鸡 ...

  4. 程序bug导致了天大的损失,要枪毙程序猿吗?[ZZ]

    来自猫扑:程序bug导致了天大的损失,要枪毙程序猿吗? 0 引言 年会上Review 源代码算什么? 法庭上 Review code 才带劲..... 2015年9月3日,随着东京最高法院驳回瑞穗证券 ...

  5. 怎样跟程序猿谈一场没有Bug的恋爱

    <iframe width="580" height="90" align="center,center" id="cpro ...

  6. 漫谈程序猿系列:她发现了一个Bug……

    watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZm9ydW9r/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/d ...

  7. 从此走上一条iOS程序猿不归路。。。

    新的城市,新的生活!前不久刚刚结束了苦逼的面试找工作之旅,期间也小有收货,如今正处年底工作闲暇之余,将前一阵子陆陆续续的总结整理了一下,本人菜鸟程序猿一只,水平有限,本文总结的知识不算深入,比较浅显, ...

  8. 谈谈如何在面试中发掘程序猿的核心竞争力zz

    早两天看了知乎日报的这篇文章<什么是程序员的核心竞争力?>,caoz讲的几点是让我感同身受.这让我联想起了给程序猿的面试,其实也就是通过短暂的接触来发掘程序猿的核心竞争力.接下来我就谈谈我 ...

  9. 程序猿职业生涯中的 Norris 常数

    我的朋友Clift Norris发现了一个基本常数.我称之为Norris常数,一个未经培训的程序猿在他或她遇到瓶颈之前能写出的平均代码量.Clift预计这个值是1500行. 超过这个数以后,代码会变得 ...

随机推荐

  1. asp.net webapi 自托管插件式服务

    webapi问世已久,稀里糊涂的人哪它都当mvc来使,毕竟已mvc使用级别的经验就可以应对webapi. webapi和mvc在asp.net5时代合体了,这告诉我们,其实 它俩还是有区别的,要不现在 ...

  2. Mongodb第一步资料

    学习的时候收集了部分好文章,这个文章主要收集的是下载,安装的基本资料 官方http://docs.mongodb.org/manual/tutorial/install-mongodb-on-wind ...

  3. Java下LDAP操作的资料

    话说LDAP真是个诡异的protocol(或者数据库,或者服务,whatever...),没有一个特别形象的spec.这里列出一些筛选出的还可以的文档,都是oracle的: https://docs. ...

  4. 如何解决JSP页面显示乱码问题

    一.JSP页面显示乱码 下面的显示JSP页面(display.jsp)就出现乱码: <html> <head> <title>JSP的中文处理</title& ...

  5. 4 ways to pass parameter from JSF page to backing bean

    As i know,there are 4 ways to pass a parameter value from JSF page to backing bean : Method expressi ...

  6. Android开发:实时处理摄像头预览帧视频------浅析PreviewCallback,onPreviewFrame,AsyncTask的综合应用(转)

    原文地址:http://blog.csdn.net/yanzi1225627/article/details/8605061# 很多时候,android摄像头模块不仅预览,拍照这么简单,而是需要在预览 ...

  7. MVC-READ2

    框架设计模式 契约式设计.元编程.元数据驱动设计.管道模型.远程代理模式.提供程序模型:

  8. Apt-Cacher-ng 搭建缓存服务器

    docker pull minimum2scp/apt-cacher-ng docker run -d -p 3142:3142 --name=cache -e ACNG_BACKENDS_DEBIA ...

  9. Servlet和JSP的本质和区别

    基本概念 Servlet Servlet是一种服务器端的Java应用程序,具有独立于平台和协议的特性,可以生成动态的Web页面.它担当客户请求(Web浏览器或其他HTTP客户程序)与服务器响应(HTT ...

  10. 使用net Manager工具配置远程连接oracle

    一,在服务端配置oracle端口在命令行中输入netca命令,打开相关配置默认端口号为1521 二,配置端口后使用Telnet工具调试端口是否联通 在命令行输入telnet 服务器ip 端口号 三,找 ...