C++编程注意事项1

1.对于关键函数、变量的注释
2.对于指针(包括智能指针)的判空
3.对于编程格式的统一、风格的一致
4.对于数据库的操作 尽量在一个接口或者少量的接口中完成,避免因为数据库字段的改变而去大量的修改接口,加大了工作量

BOOL    CICDBOperate::UpdateRoleInfoToDB(CSysRoleInfo *roleInfo)
{
    BOOL bRes = FALSE;
    do
    {
        if (NULL == roleInfo)
            break;

        auto pDbUtility = CreateDBCounect();
        if (!pDbUtility)
            break;

        CString sSql(_T(""));

        switch (roleInfo->GetState())
        {
        case OBJECT_ADD: // 添加
            sSql.Format(_T("insert into SYS_ROLE(ROLE_ID,ROLE_NAME,DESCRIPTION) values('%s','%s','%s')"),
                roleInfo->GetRoleID(), roleInfo->GetRoleName(), roleInfo->GetRemark());
            pDbUtility->ExecuteQuery(sSql);
            break;
        case OBJECT_DEL: // 删除
            sSql.Format(_T("delete from SYS_ROLE_PERMISSION where ROLE_ID = '%s'"), roleInfo->GetRoleID()); // 删除权限角色关系
            pDbUtility->ExecuteQuery(sSql);
            sSql.Format(_T("delete from SYS_USER_ROLE where ROLE_ID = '%s'"), roleInfo->GetRoleID()); // 删除用户角色关系
            pDbUtility->ExecuteQuery(sSql);
            sSql.Format(_T("delete from SYS_ROLE where ROLE_ID = '%s'"), roleInfo->GetRoleID()); // 删除角色
            pDbUtility->ExecuteQuery(sSql);
            break;
        case OBJECT_UPDATE: // 更新
            sSql.Format(_T("update SYS_ROLE set ROLE_ID='%s', ROLE_NAME='%s', DESCRIPTION='%s' where ROLE_ID='%s'"),
                roleInfo->GetRoleID(), roleInfo->GetRoleName(), roleInfo->GetRemark(), roleInfo->GetRoleID());
            pDbUtility->ExecuteQuery(sSql);
            break;
        }
        bRes = TRUE;
    } while (FALSE);
    return bRes;
}

5.尽量不传值,传递指针或是引用,防止因为浅拷贝导致的野指针问题。
即:当值传递的为结构体、类等结构时,若其中包含指针,则只能完成浅拷贝,即指针也是拷贝值,而当此次值传递的作用域结束,指针销毁,此时指针为野指针,若外部再次用到此指针,则会发生中断错误

6.数据库操作可以不需要返回表,而传递数据结构并将数据结构返回即可 

7.对于数据库的操作尽量不要让数据多次频繁的连断、连断

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值