代码容错性及设计的一些小技巧(持续更新)
来源:互联网 发布:网络歌曲人生路视频 编辑:程序博客网 时间:2024/05/16 11:35
do-while的使用
#ifndef _BEGIN_DO_WHILE_#define _BEGIN_DO_WHILE_ do{#define _END_DO_WHILE_ }while(false);#endif具体代码中的使用_BEGIN_DO_WHILE_xxxif 出错 break;xxx_END_DO_WHILE_xxx这样即使程序出错 也可以保证 _END_DO_WHILE_之后的代码得到执行
变量前缀的使用
class Test{private: string strProductId; int iProductNum; int iCoinType; int iCoinNum; int iErrorCode; int strBillno;};变量前缀用来标识变量类型,可以在后续编码过程中快速识别变量类型,不用再跳转去查看.
转换嵌套设计为线性设计
需求: 记录qq用户 微信用户 游客用户的流水记录 使用reids存储,并提供查询.
我的设计: 使用set结构
师父的设计: 使用sorted set结构
namespace以及Google protocol buffer的使用
namespace的使用可以有效的防止命名污染的问题,避免和原有的代码发生冲突.
在具体的项目中,可以使用Google protocol buffer.(或者公司的jce协议)
参考:
- https://developers.google.com/protocol-buffers/docs/overview
- https://www.ibm.com/developerworks/cn/linux/l-cn-gpb/
该协议最大的特点是兼容性特别强,使得后续的业务拓展非常便利.并且用户只需要定义数据结构即可,代码可以由解析器自动生成.
获取配置的懒惰型原则
- 能一次初始化的配置,一次初始化完成,不要每次调用反复初始化,浪费资源.
- 在读取配置类的信息的时候,比如中共享内存中获取相关数据,一次读取的结果可以缓存起来,第二次读取的时候,先从缓存中获取数据,如果缓存中没有数据,则再去共享内存中读取数据,然后继续缓存.
一些代码编写规范
- 模块中的函数一定要对一些边界条件和参数的合法性进行判断,即使是自己调用自己的函数,这样可以有效降低后人调用该函数出错的概率.
- 代码中尽量不要出现硬编码,多使用宏和const常量,必要时使用static进行作用域的限制.
- 养成顺手写注释的习惯,利己利人.
- 能独立出来的函数或代码模块一定要独立出来,降低代码的耦合性以及降低相同代码出现的可能性.
- 开发环境能使用公共库尽量使用公共库,相同的头文件保证在整个项目中只有一份,防止多份拷贝造成头文件的不一致性.
- 监控很重要,可以及时了解服务的状态
0 0
- 代码容错性及设计的一些小技巧(持续更新)
- Matlab设计技巧----自己摸索的一些技巧 (持续更新)
- [持续更新]android stduio的一些小技巧
- Python 里面的一些小技巧(持续更新)
- Html记录一些有用的小技巧持续更新.....
- 一些小技巧,持续更新[C#]
- iOS开发中一些有用的小代码(持续更新)
- 一些小的代码功能,记录一下(持续更新)
- C/C++代码小技巧【持续更新】
- 小技巧(持续更新)
- Android的一些干货以及Android Studio的一些实用小技巧(持续更新)
- 一句话的小技巧(持续更新ing~)
- excel的一些小知识,持续更新
- Cocos2d-JS开发中的一些小技巧(持续更新)
- web app遇到的一些坑及小技能(持续更新...) 遇到的一些坑
- OC 开发当中的一些小技巧(持续更新ing)
- 关于实际开发中优化web的一些小技巧汇总(持续更新中)
- Android中一些开发的小技巧总结(持续更新)
- SDUT2131数据结构实验之栈一:进制转换
- NSUserDefaults
- 【9914】最小乘车费用
- python数据库操作(1)--Mysql/Sqlite--DB-API
- SDUT2134数据结构实验之栈四:括号匹配
- 代码容错性及设计的一些小技巧(持续更新)
- vim编辑器的使用
- opencv免费、高性能的人脸检测函数
- 在Edittext中设置输入的类型
- 数据压缩算法-游程编码RLE
- Systemd方式Docker代理服务器设定
- 在SSH框架中使用Spring的好处
- c语言指针做参数的优点
- C# list使用方法