软件开发与项目管理易理——你该相信谁?
来源:互联网 发布:纤莉秀大码女装淘宝 编辑:程序博客网 时间:2024/06/08 09:45
“永远不要相信任何人,你能相信的,只有你自己。”——屠岸贾,电影《赵氏孤儿》
一般情况下,程序开发流程为:
第1步:编写代码(包括程序所需的其他资源,诸如配置文件、数据库等),实现期望的功能。
第2步:编译代码,生成可执行文件。若编译不通过,返回第1步。
第3步:运行。若运行结果不正确,返回第1步。
我们通常的思维是,如果运行结果不正确,往往会认为是自己的代码有问题。那么看一下在VC6.0开发环境中的Debug模式下一段C程序:
这段程序中,每次malloc调用之后,lRequest_Value的值都加1,在VC6自带的DBGHEAP.C文件中有段代码:
当malloc达到一定次数,会使得if条件城西,从而程序会崩掉。
尤其对于24*7运行的程序,如果程序中会不时的调用malloc函数,那么总有一天程序会崩掉。该问题的解决方法参考http://blog.csdn.net/donhao/archive/2010/05/14/5591927.aspx。在程序崩掉时,以下几种补救措施:
1. 使用看门狗
2. 使用dump工具
3. 使用日志记录
IDE本身是一种软件,是软件,就可能存在bug。如果我们的程序开发依赖于其他工具,那么可能存在所依赖的工具中不可预知的因素带来的风险。
你现在要实现嵌入式开发中双口RAM的读写操作,假设你的程序逻辑没有问题,编译器没有问题,但是运行结果不对,向双口RAM写入数据0x55,有时读出来确是0xAA。你再次确认了程序是没有问题的,你经过多次测试依然是这种现象。你找到BSP和硬件开发人员,他们给出的可能答案是“在某些特殊情况下,例如板子上有‘特殊’的静电,会导致双口RAM数据错误”。你是否怀疑过硬件本身的错误?甚至是CPU的错误?
所以,如果你的CPU将1加1算出3,或者是你的银行账户突然多出了100万,都不会是什么稀奇的事情!
[未经作者许可 不得转载]
- 软件开发与项目管理易理——你该相信谁?
- 你该相信谁?
- 你该相信谁?
- 软件开发与项目管理易理——简单项目管理
- 你该相信谁?(zt)
- 软件开发与项目管理易理——简单与灵活
- 软件开发与项目管理易理——布鲁克斯法则 ( Brook's Law )
- 软件开发与项目管理易理——不要被思维束缚
- 软件开发与项目管理易理——代码风格
- 对日软件开发与外包——-项目管理
- 《Scrum实战——敏捷软件项目管理与开发》
- 项目开发——你该注意什么?
- 软件项目的需求开发与管理
- 软件项目的需求开发与管理
- 敏捷项目软件管理与开发
- 对日软件开发与外包——项目管理/代码注释
- 不是三维——软件项目的设计、开发与管理
- 软件开发项目管理
- NPOI 1.2.3教程 -21 下载Download
- IBM HACMP 系列 -- 后期安装工作和管理任务二
- NPOI 1.2.3教程 -22 画图Drawing
- Linux(centos)下安装卸载命令rpm,make install使用方法【转】
- ZFS RAIDZ 技术解析
- 软件开发与项目管理易理——你该相信谁?
- 核函数方法简介
- Java:使用synchronized和Lock对象获取对象锁
- NPOI 1.2.3教程 -23 页眉页脚HeaderFooter
- NPOI 1.2.3教程 -24 下拉框DropDownList
- fedora 系统服务
- C# WinForm下DataGridView单选按钮列和支持三种选择状态的复选框列的实现
- xvcvxv
- fedora 12 字体