论 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行. 超过这个数以后,代码会变得 ...
随机推荐
- 精《Linux内核精髓:精通Linux内核必会的75个绝技》一HACK #7 Cgroup、Namespace、Linux容器
HACK #7 Cgroup.Namespace.Linux容器 本节将介绍Cgroup与Namespace以及通过这两个功能实现的容器功能.CgroupCgroup(control group)是将 ...
- tcpdump查看某个端口数据
tcpdump -i eth0 -nn -A port tcpdump src
- leetcode 几何题 位运算 面试编程
[BZOJ][CQOI2014]数三角形 Description给定一个nxm的网格,请计算三点都在格点上的三角形共有多少个.下图为4x4的网格上的一个三角形. 注意三角形的三点不能共线. Input ...
- LUA table.sort的问题,数组与表的区别
t = { [] = , [] = , [] = , [] = , } t1 = { , , , , } t2 = { 'a', 'b','d','c', } function cmp(v1, v2) ...
- OpenCV学习笔记 - Video Analysis - 录制视频
录制视频 使用自带摄像头录制一段5s的短视频 error & solution fourcc1 = cv2.CV_FOURCC(', 'v') 在实践过程中,运行这一行时报错: 原因分析 在o ...
- 迷你MVVM框架 avalonjs 学习教程7、数据缓存
jQuery的许多功能都可以通过avalon的绑定属性来处理,如click方法对应ms-click,css方法对应ms-css,toggle方法对应ms-visible,它的数据缓存功能avalon也 ...
- FP扣损耗逻辑代码
芯片172没有扣减损耗, 取数:SAP_STPO的AUSCH IN_BOM_DETAILS:耗损比例COMPONENT_YIELD_UOM 存储过程FP_MO2SAP:supplydmdpeg ...
- linux shell脚本编程笔记(三): 三种引号的区别
双引号.单引号.反引号的区别 测试用例: OPDATE=`date -d '-1 day' +%Y%m%d` ) do FILEDATE=`date -d "-$i day" +% ...
- 54. Spiral Matrix (Graph)
Given a matrix of m x n elements (m rows, n columns), return all elements of the matrix in spiral or ...
- Oracle 注意点大全
1.索引 经常查询的字段.主表与从表关联主键id必须建立索引.