作为一枚程序猿,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. bom知识点

    1.BOM输出 所谓BOM指的是浏览器对象模型 Browser Object Model,它的核心就是浏览器 alert(1);//弹出框 调式使用 console.log('路飞学城');//用于浏 ...

  2. 基础html和css知识

    No1.HTML 1.网页结构 网页结构一般都包含文档声明DOCTYPE,并且在head中的meta应该包含编码格式.关键字.网页描述信息.简单格式如下: <!DOCTYPE html> ...

  3. Python——截取web网页长图

    # -*- coding: utf8 -*-import timeimport xlrdfrom selenium import webdriver def read_excel(filename): ...

  4. C++中构造函数作用

    一. 构造函数是干什么的 class Counter { public: // 类Counter的构造函数 // 特点:以类名作为函数名,无返回类型 Counter() { m_value = ; } ...

  5. tensorflow 卷积神经网络基本参数()

    目录: 1. tf.placeholder_with_default(tf.constant(1.0),shape=[],name='use_dropout')   # 设置一个占位符 2. tf.c ...

  6. Intellij IDEA 启动项目ClassNotFoundException

    博客原文地址:https://blog.csdn.net/wo541075754/article/details/45640267 使用Intellij IDEA  的过程中,新创建的项目启动时报错: ...

  7. shell脚本学习指南-grep文本搜索命令-学习(3)

    1.作用 Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来.grep全称是Global Regular Expression Print,表示全 ...

  8. 深入剖析java的try…catch…finally语句

    一.前言 前些天参加面试的时候有一道题: public class test { public static void main(String[] args){ try { return; } fin ...

  9. ibatis 常用标签

    prepend:自动在前面加上:自动新手:自动预:自动前置 property:属性 compareValue:指定的常数,值 //判断不相等: <isNotEqual prepend=" ...

  10. Luogu 3321 [SDOI2015]序列统计

    BZOJ 3992 点开这道题之后才发现我对原根的理解大概只停留在$998244353$的原根是$3$…… 关于原根: 点我 首先写出$dp$方程,设$f_{i, j}$表示序列长度为$i$当前所有数 ...