程序过敏反应
来源:互联网 发布:财务指标选股软件 编辑:程序博客网 时间:2024/04/25 07:54
上个周末在家看了集《Doctor House》,一个手上出现红色疱疹的病人来到House医生的医院,House医生根据病症现象诊断为对某种肥皂产生了过敏,然后开了1片抗过敏药,疱疹症状减轻,但一会儿后开始出现呼吸困难并发哮喘,立刻注射了1cc肾上腺素后呼吸开始平稳,但又出现心动过速,很快病人心跳停止,经过一番抢救后,最后又回到原点,手上的红色疱疹开始在全身出现。
这个剧情突然就让我联想到曾经程序中出现的一系列连锁问题,我们在本地开发完成了程序,进行了各种测试感觉完全没问题了,再将它转移到另外一个环境给其他人使用时,有时总会出现些奇怪的问题(进程启动后莫名的消失、运行过程中抛出从未见过的异常,特定情形下的随机错误等等)。现在我把这些问题统统归类为——程序过敏反应。医学上解释的过敏是:“有机体将正常无害的物质误认为是有害的东西,产生抗体”,程序的过敏反应则是:“程序将潜在存在问题的环境当作正常处理,从而产生了异常”。而潜在的环境问题通常就成了程序的“过敏原”。
人体产生过敏反应的原因十分复杂,医生除了给你开抗过敏药来缓解症状外,通常最佳建议都是让你远离过敏原,无法从根本上改变你的身体让其不再过敏。而程序的过敏反应从理论上来说都是可以避免的,但现实就是有些理论就是无法被实践的。一个系统是依赖大量由不同程序员创造的代码来运行的,有些来自第三方,有些是自己开发的,那么就不可能有一个人能完完全全明白整个系统的全部代码,自然也就没人能识别所有代码的“过敏原”,并小心翼翼的绕过这些“过敏原”。
你不知道自己对什么过敏,直到你碰到一种东西引起你过敏。程序世界也一样,有一种药叫抗过敏药,那么也有一种代码叫抗过敏代码。虽然代码规范、设计模式等都是为了帮助程序员写出健壮的、易维护的程序,但解决不了程序的过敏反应。直到你遇到程序过敏现象,并根据现象不断深入挖掘分析出过敏原,才可能开发出抗过敏代码(这里可能存在一个反复试错的迭代过程),就像抗过敏药不能解决所有过敏症状一样,不是所有的程序过敏反应都能通过抗过敏代码来解决,如果代码解决不了只好退而求其次用文档来描述,就像在路上遇到个大坑,第一个碰到的人如果没能力修补好至少可以立块牌,避免后面的人重蹈覆辙。
最后,我想可能有人会有兴趣想知道House医生最后又如何医治那个病人的,答案在《Doctor House》第1季第6集。
- 程序过敏反应
- 减少过敏反应的生活细节
- 过敏
- 过敏
- 小程序反应大问题
- 过敏了
- 鼻孔过敏?
- 过敏预防
- 过敏药品管理
- 汽车对冰淇淋过敏
- 对麦子过敏
- 过滤过敏字,脏字
- 黑加仑过敏
- 程序问题可能的多米诺反应
- 双击程序没反应的解决办法之一
- 程序猿被提bug之后的反应
- android程序点返回键无反应
- 反应c语言程序结构特点的程序
- CSDN博客“持之以恒”勋章上线公告
- Dynamic Web Project 的学习笔记
- Oracle Temp 临时表空间
- 对数据库根据符合条件的记录 逐个进行更新使用的连接语句
- 各大厂商服务器配置
- 程序过敏反应
- Oracle 常用的V$ 视图脚本
- Android Emulator连接本地服务器
- Oracle 归档与非归档的切换
- 跑马灯效果
- toUTF VC
- Android 获取系统和应用程序
- 虚函数占用内存
- Java的8种基本数据类型