代码规范的重要性:2015年-4月-29日调试教训 即 经验
来源:互联网 发布:矩阵 方阵 编辑:程序博客网 时间:2024/06/03 23:40
规范:
1、每个局部变量都必须进行初始化赋值,否则会给代码留下不可预估的风险:
------因为局部变量里面值是系统随机分配的值,所以可能会在运行N次后的不经意间程序出现了问题,而当你需要去重现这个问题、现象时,却又遇不到,让人不得不为自
己的软件稳定性捏一把冷汗。
2、每一次内存的申请,必须对应一次内存的释放:
-----因为如果是小的内存泄漏,可能在项目紧急时,没能经过能使软件跑崩溃的时间,导致软件测试正常的假象;当软件进入重要环节 或 到客户手里使用时,被发现了这个问题,那么这个问题会给解决问题,如期交付、和客户满意度都会带来不可小视的影响。
3、申请一个套接字 就要对应关闭一个套接字:
----因为套接字的可用数量是够大的,但是对于多链接软件,在短时间的测试内可能无法发现这个问题,但是如果软件长时间内使用后,就可能达到套接字有限数量的瓶
颈,进而导致软件使用异常,这个问题同样发现有时间域的问题,很容易在最关键的时候被发现,进而导致项目无法验收,所以必须谨慎。
经验:
软件在Debug版本运行正常,而在Release版本下运行一段时间后就报错的问题 及 原因:
VS在Debug条件下,会自动将局部变量进行初始化,所以在调试的时候,上面的第一点,可能在Debug环境下就无法被发现,但是一旦切换到Release环境下,编译器不会给局部变量赋初始值,所以导致软件在Debug板不报错而在Release版本下运行时就会报错。
对一个无效的套接字多次重复使用 closesocket()会导致软件崩溃:
我就是在使用记录视频通道数的局部变量时没有进行赋初始值,导致在循环关闭通道的网络接口时,异常的多次closesocket,导致软件运行一段时间后就报错,并且用Debug版本测试一直发现不了,用Release测试就始终出现,让我苦苦查找很久很久,才解决。
希望对朋友们有用^_^ ^_^ ^_^......
- 代码规范的重要性:2015年-4月-29日调试教训 即 经验
- 代码规范的重要性
- 代码规范的重要性
- 代码规范的重要性
- 代码规范的重要性
- 代码规范的重要性感悟
- 论代码规范的重要性
- 工作积累之代码规范的重要性
- 代码规范重要性
- 2010年1月18日 关于命名规则的重要性
- STM32F030 Nucleo-开发调试的经验USART的重要性
- 超酷代码:来自 COM 经验的八个教训
- 超酷代码:来自 COM 经验的八个教训
- 超酷代码:来自 COM 经验的八个教训
- 超酷代码:来自 COM 经验的八个教训
- 超酷代码:来自 COM 经验的八个教训
- 超酷代码:来自 COM 经验的八个教训
- 超酷代码:来自 COM 经验的八个教训
- HDU 4715 Difference Between Primes
- 快速理解Linux下僵死进程、孤儿进程和守护进程及无名管道
- TopCoder SRM 657 Div2 Problem 1000 - PolynomialRemainder(数学)
- orcle创建自增列
- tp3.2 实现 PHPExcel 上传 下载
- 代码规范的重要性:2015年-4月-29日调试教训 即 经验
- VS2010编译错误:fatal error C1189: #error : This file requires _WIN32_WINNT to be #defined at least to 0x
- bug.150429
- SQL中Group By的使用
- 为什么要使用线程池
- 你的C/C++程序为什么无法运行?揭秘Segmentation fault (2)
- ext的相关
- 电压偏差,合格率
- 成为一名嵌入式Linux开发工程师需要学习哪些知识?