不小心,代码重构产生严重错误,狂占内存

1121人阅读 评论(0) 收藏 举报
喜欢把以下代码

    if (cond > CONDTION)
    {
        aaa();
        bbb();
        ccc();
    }
    return;

改为

    if (cond <= CONDTION)
        return;

    aaa();
    bbb();
    ccc();

这样可以减少缩进。特别是多个条件嵌套时,采用这种重构方法能有效地增加代码可读性。

不过今天不小心,在三明治代码的中间return:


    ::wxMutexGuiEnter();

    ...
    if (...)
        return;    // ERROR

    ...
    ...
    ...

    ::wxMutexGuiLeave();
}

结果造成程序狂占内存。
一直以为哪里内存占用没有释放,纠错时方向错误。

仔细检查今天的代码更改,把这些小改动给忽略了。

最后采用二分法逐步禁用代码行,才恍然大悟。

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:1054987次
    • 积分:14999
    • 等级:
    • 排名:第751名
    • 原创:375篇
    • 转载:49篇
    • 译文:19篇
    • 评论:394条
    文章分类
    文章存档
    最新评论