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

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

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

  横批:苦逼程序员。

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

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

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

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

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

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

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

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

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

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

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

  程序员八荣八耻说道:

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

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

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

战斗bug技巧全攻略相关推荐

  1. SQL初学、精通者必看:10个学生成绩查询史上最强技巧全攻略

    SQL初学.精通者必看:10个学生成绩查询史上最强技巧全攻略 本文提供了一个含有学生.成绩.课程和教师信息的完整数据库,并为读者提供了 SQL 查询练习题,还包含了练习的答案以及解析.这些题目旨在帮助 ...

  2. 抓娃娃机按钮按几下_揭秘娃娃机抓娃娃技巧全攻略

    大家应该有过夹过娃娃吧?那夹得怎样呢?下面我和大家分享一下夹娃娃的攻略技巧吧! 基本技巧 1 :关于夹子 娃娃机的夹子一般都是 3 根组成. 抓娃娃时, 经常遇到爪子的角度和预期的不符, 夹子 落下时 ...

  3. 在线学习新编程 技巧全攻略

    摘要:有句俗语叫:"技多不压身",如果你有时间和兴趣,不妨多了解和掌握编程技能,或许随时可能有用.本文为你收集了一些编程技巧,让你轻松学编程. 有句俗语叫:"技多不压身& ...

  4. 极速狂飙 无线网BT下载使用技巧全攻略

    网通ADSL加上有线路由器,多台电脑共享上网",这是大家再熟悉不过的组网方式,在这个环境下,我们网上冲浪.聊天,还有用BT软件下电影,忙得不亦乐乎!但是有了笔记本电脑后,拉着网线上网始终感觉 ...

  5. 计算机应用素描色彩,美术统考素描、色彩、速写考场技巧全攻略

    速写 美术统考速写的内容一般是人物.风景和场景,表现形式为写生.默写和照片,考试要求是构图完整.新颖,比例准确,神态生动,重点刻画到位等. 动笔前,考生一定要把题目审清楚,前年一位考生因为过度紧张,提 ...

  6. 中职计算机高考提分技巧,2018年高考《各科目》提分技巧全攻略

    语文 1.语文文言文选择意思那个,叫选择错误的.只要是与现代意思相同的那个,百分之九十九是错的,不信自己查看最近高考的那题. 2.语文古诗词鉴赏分析手法实在找不到了丢借景抒情和对偶修辞.不能空题. 3 ...

  7. android动态视力测试,android《神庙逃亡》轻松通关技巧全攻略

    三种奇妙地形,乐趣变化妙无穷 基本上,人物会自动往前狂奔,操纵方法很简单 手指触控向右滑动->右转 手指触控向左滑动->左转 手指触控向上滑动- >跳 手指触控向下滑动->低姿 ...

  8. VSCode插件开发全攻略(六)开发调试技巧

    更多文章请戳VSCode插件开发全攻略系列目录导航. 前言 在介绍完一些比较简单的内容点之后,我觉得有必要先和大家介绍一些开发中遇到的一些细节问题以及技巧,特别是后面一章节将要介绍WebView的知识 ...

  9. 短线炒股技巧 短线绝招全攻略

    短线炒股技巧 短线绝招全攻略 1.绝招"攻击临界点": 个股放量攻击技术形态颈线位时,在攻击量能已经有效放大,但突破颈线位还在3%幅度以下时,这是短线的绝佳买点. 2.绝招&quo ...

最新文章

  1. 浅谈 Java Printing
  2. 【LeetCode 629】K个逆序对数组
  3. 计算机网络(十二)-信道划分介质访问控制-信道复用
  4. 手机炒股软件测试自学,手机炒股用什么软件好 主流手机炒股软件评测
  5. 岭回归,Lasso回归和弹性网回归理论及特点
  6. 不收费的数据恢复软件好用吗?数据丢失这样恢复
  7. 资源 就是Tianmao项目里小部分备用 测试 的数据以及图片
  8. C++程序设计技巧 NVI(Non-Virtual Interface )
  9. swagger ui 怎么输入对象_java swagger ui 添加header请求头参数的方法
  10. gis连接表格到数据库失败_arcgis连接到数据库失败,常规功能故障
  11. Golang面向对象之-类
  12. 2017河南省第四届互联网大会圆满落幕 云计算大数据创新成热点
  13. 嵌入式开发笔记-STM32CudeIDE平台入门
  14. 使用Python实现Linux命令的批量执行
  15. 05- 防火墙用户管理
  16. 【Unity人物动画】SALSA With RandomEyes (语音生成嘴型/人物说话) 使用
  17. java verifyerror_java.lang.VerifyError 异常解决方法
  18. (附源码)springboot福佳生活超市进销存管理系统 毕业设计261620
  19. win10怎么显示文件后缀_U盘数据丢失怎么恢复?数据恢复软件推荐
  20. 26 迷信:科学不过是阶段性正确

热门文章

  1. 允许ajax跨域请求
  2. 拼多多黄峥参加巴菲特午餐后自述
  3. 4.解决Hash冲突的几种方法
  4. 雅思底层之一,五分到六分
  5. Perl中chomp和chop
  6. 终端初始化vue项目报错提示 无法加载文件 C:\Users\hp\AppDate\Roaming\npm\vue.ps1。
  7. ubuntu 下一个聊天工具
  8. 菜鸟在线带你了解2016年值得期待的手机游戏
  9. python网络编程攻略-Python四大主流网络编程框架
  10. 关于面试,我有大技巧