博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
一次代码Review的总结
阅读量:2503 次
发布时间:2019-05-11

本文共 489 字,大约阅读时间需要 1 分钟。

引子:

手上的虽然是一个小项目,但由于关联性很多,而且是系统服务,如果代码出了问题可能会影响整个系统,所以压力还是挺大,也专门找了老外来帮着Review代码。

虽然做了很长时间的C#,但代码是完全的 C + Windows API,对自己来说,还完全是个新手,也顺便弥补了自己在这方面的空白。

记录一下吧,以备后看:

  1. 每一个系统函数的调用都应该检查返回值,因为理论上都有失败的可能,包括CreateEvent是否失败,CloseHandle的对象是否为空,并做相应的处理。
  2. InitialzieCriticalSection必须要和DeleteCriteicalSection配对使用,并且要确保执行顺序和时机。最好放在程序的开头。
  3. 注册表键值建议用const声明。
  4. 常量值建议用const声明。
  5. 大小写BOOL和bool要区别开。
  6. 大小写TURE和ture也要区别开。
  7. 内核事件内不要写业务逻辑,只发送消息或改变信号。
  8. 如果是手动的事件,在WaitForSingleObject以后要记得手动重置。
  9. 如果Event的等待时间是INFINITE要记得如果不触发事件,会永远等待。

转载地址:http://ymlgb.baihongyu.com/

你可能感兴趣的文章
第二周周六DailyReporting——PM(李忠)
查看>>
Beta阶段DAY3
查看>>
windows server 2008 R2 NPS(网络连接策略服务)设置radius,实现telent登陆交换机路由器权限分配...
查看>>
Java中静态变量和动态变量
查看>>
vim的visual可视模式(转载)
查看>>
ASP.NET MVC 学习笔记-6.异步控制器
查看>>
java_赋值与初始化
查看>>
函数如何调用?
查看>>
3.2.2 线性表的顺序存储实现
查看>>
TP框架 ---空控制器和空操作
查看>>
poj 1845 Sumdiv (等比求和+逆元)
查看>>
iView 的后台管理系统简易模板 iview-admin-simple
查看>>
写一个自己的搜索引擎(1)
查看>>
NGINX、PHP-FPM开机自动启动
查看>>
python 递归求阶乘
查看>>
ERROR: child process failed, exited with error number 100
查看>>
Java计算器源代码
查看>>
SQLServer视图
查看>>
《Entity Framework 6 Recipes》翻译系列 (3) -----第二章 实体数据建模基础之创建一个简单的模型...
查看>>
入门阶段
查看>>