BUG 是如何发生的
来源:互联网 发布:人造暖男网络电影 编辑:程序博客网 时间:2024/05/11 12:37
高中数学老师(我们管他叫娃哈哈)给我印象最深的一句话就是:“数学不存在粗心!做错题目只有一个原因,那就是没搞懂!”
因为我讨厌数学,所以一直没理解这句话的含义。但是我发现,把这句话套在编程上是可以的,那就是:
编程不存在粗心!出现 BUG 只有一个原因,那就是没搞懂!
经验是如何来的?你可能会说:经验是学来的。——错。
经验不是在成功中学来的,而是在失败中总结来的。经验越多,就意味着经历的失败越多。
有经验的程序员比没经验的程序员强在哪里?就是强在碰到问题时他知道怎么解决。
BUG 是怎么来的呢?比如出了一个 BUG,几经查找最后发现是因为使用了 == 比较字符串。作者也纳闷:这就是 BUG 啊。原来不能这么比啊。
——大部分 BUG 都是像这样,是作者意识不到的。你能管这叫粗心吗?根本不了解的东西你怎么能避免得了?
所以,指望应届毕业生的 BUG 率和干了三年的程序员 BUG 率相同,这是不可能的。后者知道哪些东西不能写,前者不知道。
而我们有些管理人员就不了解这一点,认为 BUG 率是一个与开发经验无关的值,企图通过严厉的惩罚手段降低 BUG 率。搞得经验欠缺的程序员怨声载道,承受无止境的加班。
说得不好听的,有的公司喜欢招经验欠缺的新人,因为他们工资低;而且公司很清楚,让新人做项目会有很高的人力成本,于是通过这种方式压榨他们,让他们把这部分成本消化掉。这是很恶劣的态度。好的公司会让老员工带新员工做事情,让新人快速的积累经验。
你可能会说,加班加的多,但是经验涨得快啊。是的,是会快一点,但这是牺牲了正常的生活甚至是身体的健康换来的,代价太高了。
如果你还有什么要说的话,看看我上一篇好了。
- BUG 是如何发生的
- 0 bug是如何做到的?
- 追究Bug发生的原因
- 手机是如何得知SIM卡发生了改变的
- 应用程序与驱动程序是如何发生关联的
- CoreCLR源码探索(六) NullReferenceException是如何发生的
- 法规法规是发生的发生的
- 记录一次软件Bug发生的过程
- java的内存泄露是如何发生的,如何避免和发现?
- 验证发生的时间是?
- 嘎嘎是德国发生的
- A first chance exception of type 'System.NullReferenceException' occurred发生的时候你确实是遇到了Bug
- 您的公司是如何应对发生在日本的灾难的
- 如何判断通过WSAAsyncSelect 注册的事件中,发生的是那个
- 如果是你,你该如何避免此事的发生---管理的思考(素材)
- 一张图告诉你世界首起致死的自动驾驶车祸是如何发生的
- hibernate映射(一)——M到底是如何发生的?
- 荣誉法则:道德革命是如何发生的([美] 奎迈·安东尼·阿皮亚 著)
- 学习源代码关注什么
- Linux文件管理常用命令
- ASP.NET自定义控件组件开发 第一章 第二篇 接着待续
- 十分钟让你学会放松
- Python的网络编程
- BUG 是如何发生的
- Struts2拦截器总结
- ASP.NET自定义控件组件开发 第一章 第三篇
- 自己刻录CD
- 炎炎夏日,安全度夏!(图)
- 软件开发者面试百问-----什么是低耦合和高聚合?封装原则又是什么意思?
- ASP.NET自定义控件组件开发 第二章 继承WebControl的自定义控件
- ASP.NET自定义控件组件开发 第三章 为控件添加事件 前篇
- SQL 文 Union 与Order By