`
luliangok
  • 浏览: 780895 次
文章分类
社区版块
存档分类
最新评论

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

 
阅读更多
喜欢把以下代码

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

改为

if (cond <= CONDTION)
return;

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

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

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

{
::wxMutexGuiEnter();

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

...
...
...

::wxMutexGuiLeave();
}

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

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

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

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics