论 BUG调试与(程序猿)初学者
作为一枚程序猿,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调试与(程序猿)初学者的更多相关文章
- 漫谈程序猿系列:无BUG不生活
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZm9ydW9r/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/d ...
- 关于程序猿怎样降低程序Bug的若干建议
毫无疑问,程序猿是善于思考问题的一族. 一个程序的编写都是通过:思考.设计.编写.调试.測试以及执行这些主要的阶段. 但大部分程序猿都有一个问题就是不太愿意測试自己的代码. 他们草草的调式完毕以后就觉 ...
- 程序猿制造Bug的根本原因竟然是....
传说中: 「杀一个程序猿不需要用枪,改三次需求就可以了.」 而且, 「这竟然也是程序猿制造Bug的根本原因....」 ↓↓↓↓↓↓↓ #/原始需求/# 你去饭店,坐下来. “服务员,给我来份宫保鸡 ...
- 程序bug导致了天大的损失,要枪毙程序猿吗?[ZZ]
来自猫扑:程序bug导致了天大的损失,要枪毙程序猿吗? 0 引言 年会上Review 源代码算什么? 法庭上 Review code 才带劲..... 2015年9月3日,随着东京最高法院驳回瑞穗证券 ...
- 怎样跟程序猿谈一场没有Bug的恋爱
<iframe width="580" height="90" align="center,center" id="cpro ...
- 漫谈程序猿系列:她发现了一个Bug……
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZm9ydW9r/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/d ...
- 从此走上一条iOS程序猿不归路。。。
新的城市,新的生活!前不久刚刚结束了苦逼的面试找工作之旅,期间也小有收货,如今正处年底工作闲暇之余,将前一阵子陆陆续续的总结整理了一下,本人菜鸟程序猿一只,水平有限,本文总结的知识不算深入,比较浅显, ...
- 谈谈如何在面试中发掘程序猿的核心竞争力zz
早两天看了知乎日报的这篇文章<什么是程序员的核心竞争力?>,caoz讲的几点是让我感同身受.这让我联想起了给程序猿的面试,其实也就是通过短暂的接触来发掘程序猿的核心竞争力.接下来我就谈谈我 ...
- 程序猿职业生涯中的 Norris 常数
我的朋友Clift Norris发现了一个基本常数.我称之为Norris常数,一个未经培训的程序猿在他或她遇到瓶颈之前能写出的平均代码量.Clift预计这个值是1500行. 超过这个数以后,代码会变得 ...
随机推荐
- CFGym 101505I 题解
一.题目链接 http://codeforces.com/gym/101505 二.题意 这题其实主要就是题意,理解题意后,就是水题了.我想了下,主要原因就是这几点: 1.题意太过英文化,很多句子不能 ...
- solr学习之六--------Analyzer(分析器)、Tokenizer(分词器)
首先,不知道大家在前面的例子中没有试着搜索文本串,就是在第二节,我们添加了很多文档.如果字段值是一个文本.你如果只搜索这个字段的某个单词,是不是发现搜不到? 这就是因为我们没有配置Analyzer,因 ...
- SpringBoot入门(1)
一.初始 ①.首先还是要创建一个maven工程 ②.然后编写Controller 让SpringBoot跑起来并不需要太多的代码,就能实现了我们平时要配置很多的功能,这是怎么做到的呢?我们就下面一个入 ...
- Variation Model的应用
Variation Model的主要原理是将待检测的图像与一张标准图像作比较,找出待检测图像与标准图像(ideal image)的明显差异(也就是不良). 标准图像可以采用几张OK品的图像训练(tra ...
- gain 基尼系数
转至:http://blog.csdn.net/bitcarmanlee/article/details/51488204 在信息论与概率统计学中,熵(entropy)是一个很重要的概念.在机器学习与 ...
- 【Git】一、Git简介
一.什么是Git Git是一款免费的开源分布式版本控制系统,可以有效的,高速的处理从很小到非常大的文件. 二.Git VS SVN 1. Git 是分布式的,SVN 是集中式的 2. Git 存储的是 ...
- binary tree
一.中序线索化 二叉树节点定义: class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; int isle ...
- testng参数化(提供测试数据)
testng提供测试数据的两个注释:@DataProvide和@Parameter 一.通过testng.xml中设置参数 (实际上testng.xml只是一个名字,可以起任何一个名字,只要是.x ...
- 01b-1: 性能测度
- 「这样玩Hexo」修改主题自定义实现界面和功能的自定义
首发于个人博客 想获得更好的阅读体验,烦请移步⬆️ 前言 作为一个颜党,在换了许多Hexo的主题后,选择了现在使用的fexo主题.但是相比于大多数博主使用的NEXT,fexo还是不够powerful, ...