战斗bug技巧全攻略

  程序员不是有一幅这样的对联吗

  上联:一个项目两部电脑三餐盒饭只为四千工资搞得五脏俱损六神无主仍然七点起床八点开会处理九个漏洞十分辛苦;

  下联:十年编码九年加班八面无光忙的七窍生烟到头六亲不认五体投地依旧四肢酸软三更加班只为二个臭钱一生孤苦;

  横批:苦逼程序员。

  其实,程序员职业生涯总结起来就这三件事情Ⅰ理解需求 Ⅱ编码 Ⅲ改bug。

  可见,bug是程序员的天敌。bug对于我们自己名誉和产品自身质量影响是不言而喻的。哪么,怎么能够降低bug了。

  卡耐基说过,人性的弱点要克服。程序员必须克服一些自身的致命缺点才能够从根本上解决这个问题。这个问题是什么了?程序员对自己的代码都非常宽容,认为那是正确的没有问题。这种想法也是人之常情,毕竟程序是程序员经过缜密的思考和设计之后才写出来,不会将错误的东西写到代码中去。但是人非圣贤孰能无过。实际上程序员在程序上是挑剔别人,宽容自己。这往往是最致命的。程序员必须对自己的代码有一种“吹毛求疵”的态度,首先,大胆假设自己的代码是错误的,需要证明自己的程序是正确的。这样就需要做以下一系列的工作:仔细的设计(这个时候画点时间是值得的,必须保证我们对自己的程序有清晰的轮廓后才能开始动手写)、编写代码时、单元测试(单元测试的重要性就不在赘婿了)、功能测试。

  仔细的设计:更多人愿意称之为详细设计。这个的仔细是说在程序员编写代码之前,其必须对代码的整个结构以及逻辑结构有明确的清晰的了解,只有这个时候才可以去写代码。这里没有谈到文档,但我说到了一定要清晰的思路,但清晰的思路不是每个人都可以在脑袋中直接形成的,很多人都是普通人,没有办法在脑袋瓜中把所有问题都想清楚,那么就记下来,特别对于复杂的逻辑。

  编写代码:对于没有把握的代码,例如:新设计的算法,最好保证其正确性。可以单独将这部分测试,这就是我们所说的单元测试,我们公司要求每个新方法必须进行详细设计。这可以让代码模块化的同时又保证了代码的正确性。一句话:少量的代码保证质量还是比较简单的。

  单元测试:单元测试的重要性不在赘叙了,现在也有许多工具可以帮助程序员并减少工作量。android中android
instrumention是不错的选择。

  功能测试:程序员保证自己代码质量的最后一关;为了做这样的工作我们可能必须写一些代码来测试,甚至是测试工作。使用大量的 CASE 来测试,以及错误的
CASE 。这里和测试人员的测试不同之处在于:仍然让程序员的注意力放在其自己的代码范围内,减小了排错的难度。

  如果你通过了以上的步骤都找不出你程序中有任何问题的话,那么我想你的程序应该足够健壮了。其实还有一点必须说明的就是:代码 REVIEW 。

  前面说道了程序员对待别人代码的态度是挑剔和学习的态度,所以让其他程序员来 REVIEW 你的代码也是检查程序有没有逻辑错误的很好的办法。团队中应该交叉
REVIEW 代码,这是实践的经验。

  作为一个好的程序员必须有以上的习惯,以及对待自己代码象孩子一样,我们要爱惜我们的代码,同时也要让代码走正确的路。

  以上的方法,是防患于必然的方法。哪么怎么解决bug了。

  程序员八荣八耻说道:

  以日志调试为荣,以单步调试为耻。

  控件调试bug首先打印日志,最后迫不得已再单步调试了。

  这就是我的bug全攻略,希望对大家有所帮助。

  

战斗bug技巧全攻略,布布扣,bubuko.com

时间: 2025-01-21 23:31:06

战斗bug技巧全攻略的相关文章

.Net常用技巧_VS2005[C#] 操作 Excel 全攻略(转)

using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using Microsoft.Office.Interop.Excel; using System.Data.SqlClient; using System.Data.

工欲善其事,必先利其器 之 VS2013全攻略(安装,技巧,快捷键,插件)!

原文:工欲善其事,必先利其器 之 VS2013全攻略(安装,技巧,快捷键,插件)! 如有需要WPF工具的朋友可以移步 工欲善其事,必先利其器 之 WPF篇: 随着开发轨迹来看高效WPF开发的工具和技巧 之前一篇<c++的性能, c#的产能?!鱼和熊掌可以兼得,.NET NATIVE初窥>承蒙大家喜爱和编辑推荐,在此非常感谢大家支持.在回复中我发现很多朋友还在使用老的IDE,当然有些是公司决定的,和个人无关.但是有条件的话还是新的IDE比较适合大家,毕竟新的IDE会有新的特性来减少大家编程时间,

从小工到专家 ——读《Java程序员职场全攻略》有感

从小工到专家 ——读<Java程序员职场全攻略>有感   <Java程序员职场全攻略>是以故事的形式,向读者介绍Java程序员的职场经验.作者牛开复在北京从事软件开发,已经是一位业界高人,而书中的主人公蔡佳佳则是一名计算机专业的大三学生,作为师兄的牛开复一步一步指引蔡佳佳从学校走入职场,开始他的职业生涯.书中多采用二人对话的形式,谈到了职场中可能会遇到的各种问题,语言形式也非常轻松活泼,生动有趣,通俗易懂. 初窥门径——行业揭秘 相信很多同学都急切的想了解IT这个行业在国内的现状以

FPGA开发全攻略——ISE基本操作

原文链接: FPGA实战开发技巧(2) FPGA开发全攻略连载之十二:FPGA实战开发技巧(3) FPGA开发全攻略连载之十二:FPGA实战开发技巧(4) 5.2 如何进行FPGA设计早期系统规划 作者:Ricky Su (www.rickysu.com) 这篇文章讲述了如何用工具提高效率的方法,适用程度因人而异. Situation: 在对FPGA 设计进行最初步的系统规划的时候,需要进行模块划分,模块接口定义等工作.通常,我们起初会在纸上进行设计,到了一定阶段的定稿可能会输入Visio 等工

活水渠 - 云影院之云时代看片全攻略

本文讨论了大数据时代最热门的两大应用之一的云计算(另一应用是物联网)对网络视频观看体验的具体影响,以及在观看方式上区别于传统下载方式的优点. 一.视频门户类网站 此类网站以优酷.乐视等为代表,主营传统网络视频业务,使用浏览器进行直接点击链接进行观看. 优点:电视节目丰富.观看技术手段简单.大型网站服务器稳定 缺点:看不了热门电影,精华视频要收费,免费用户要看广告 解决:浏览器辅助工具或插件解决收费和广告问题,在此基础上还诞生了视频门户网 站的入口集成网站,每天看云帆可免VIP直接观看主流视频门户

webBrowser中操作网页元素全攻略

webBrowser中操作网页元素全攻略 2012-12-20 14:21 188人阅读 评论(0) 收藏 举报 1.获取非input控件的值: webBrowser1.Document.All["控件ID"].InnerText; 或webBrowser1.Document.GetElementById("控件ID").InnerText; 或webBrowser1.Document.GetElementById("控件ID").GetAttr

Windows Socket五种I/O模型——代码全攻略(转)

Winsock 的I/O操作: 1. 两种I/O模式 阻塞模式:执行I/O操作完成前会一直进行等待,不会将控制权交给程序.套接字 默认为阻塞模式.可以通过多线程技术进行处理. 非阻塞模式:执行I/O操作时,Winsock函数会返回并交出控制权.这种模式使用 起来比较复杂,因为函数在没有运行完成就进行返回,会不断地返回 WSAEWOULDBLOCK错误.但功能强大.为了解决这个问题,提出了进行I/O操作的一些I/O模型,下面介绍最常见的三种: Windows Socket五种I/O模型——代码全攻

前台页面优化全攻略(三)

经过前两篇文章的实践,你的网站加载速度一定有了非常明显的变化.能把实践跟到这篇文章的人想必一定是极客中的极客.如果你仍对网站的加载速度不满意,可以看看再尝试一下本文中几近疯狂的终极优化方案. 你可以对网站进行快速的优化,但网站日常的节食却很难.也许你已经花了很大的力气去优化你的CSS和JavaScript代码,但是你所做的努力马上又会因为老板或客户期望的新功能而付之东流.所以看来不论是人还是网页,减肥都贵在坚持. 这篇终极减肥方案可能不适合所有的网站,但是我相信它可以引起你对网页大小的重视. 1

3D计算机图形学零起点全攻略(转)

3D计算机图形学零起点全攻略 这篇文章不包含任何技术知识,但我的希望它能指明一条从零开始通往3D领域的成功之路.我将罗列我看过的相关经典书籍作为学习文献,阅读规则是每进入下个内容,我都会假设已经完成前面全部的文献研习内容.相信若能按照这条路走到最后,会有所进益. 完成整部分内容需要具备基础: 英语:CET4以上 数学:精通数字加减乘除法. 物理:基本力学. 计算机:了解电脑的基本知识,熟练使用Windows. 电脑配置: CPU:双核1.5以上 显卡:NVIDIA GeForce8400G MS