作为一枚程序猿,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. C++和C# WebService相互调用

    C#调用C++ gSOAP: 调用http://blog.csdn.net/ggz631047367/article/details/44567411的服务http://127.0.0.1:8089/ ...

  2. 简单的自动化测试模型(python+selenium)

             刚接触自动化测试,由于没有编程语言的基础,是搞不懂代码里面的函数.封装.包以及其他概念,只是了解字符串.数组.元组及字典这种最基本的名词,更不懂自动化测试框架了.          ...

  3. 32_java之TCP和UDP

    01网络模型 *A:网络模型 TCP/IP协议中的四层分别是应用层.传输层.网络层和链路层,每层分别负责不同的通信功能,接下来针对这四层进行详细地讲解. 链路层:链路层是用于定义物理传输通道,通常是对 ...

  4. ubuntu上安装 MySQL 启动/停止 连接MySQL

    1.Ubuntu上安装MySQL服务   1.安装服务端   sudo apt-get install mysql-server    2.安装客户端   sudo apt-get install m ...

  5. Tomcat 实战-调优方案

    来自:  http://blog.csdn.net/u010028869/article/details/51793821 来自:  https://www.cnblogs.com/baihuites ...

  6. BURG For Ubuntu 14.04 Trusty

    sudo add-apt-repository ppa:n-muench/burg sudo apt-get updatesudo apt-get install burg burg-themes D ...

  7. NotePad++替换行前、行后空格,替换空行

    用 Notepad++ 打开,把每一个将要放在表中单元格的内容放一行(注: ^ 代表行首 $ 代表行尾) 去除行尾空格和空白行:按CTRL+H 选择正则表达式– 查找目标:\s+$ 替换为空 去除行首 ...

  8. 人脸检测及识别python实现系列(2)——识别出人脸

    人脸检测及识别python实现系列(2)——识别出人脸 http://www.cnblogs.com/neo-T/p/6430583.html

  9. docker1.9 network跨主机安装

    背景:在跨host中,如果docker任何一个重启或者销毁,docker暴露的端口以及ip将可能重新配置,这个时候需要重新记录ip跟端口.在生产环境中往往需要一个固定的ip以及端口去跟容器通信.例如m ...

  10. UNITY_INITIALIZE_OUTPUT宏

    UNITY_INITIALIZE_OUTPUT宏 UNITY_INITIALIZE_OUTPUT(type,name) –此宏用于将给定类型的名称变量初始化为零.在使用旧版标准所写的Shader时,经 ...