• 曾经犯过的错误


    1.写程序中碰到棘手的问题时,直接原因很可能是程序架构的思路就有问题,但总会不自觉的用自己擅长的领域(如数学)去弥补较弱的知识(如架构),导致编出的程序可能比较难以理解,即便用了巧技怪术解决了问题,一般来说也并不可取,长期来说会限制自身的程序架构能力,也许回头重新思考,会有更好的解决方案。

    2.除0操作,一定要验证分母是否等于0。其中有一种情况比较特殊,就是当分母包含随机数时,分母并不一定为0,当凑巧为0时可能会出现莫名其妙的bug,此时找bug难度大大增加,毕竟可以重现的bug都较为容易解决,还是得养成良好的编程习惯。

    3.注意:网络程序断线后如果程序没重连功能的话,会完全失去程序作用,和关掉没什么两样。但在任务管理器中是看不出什么异样的,显示还是正在进行。断线的情况往往被忽视,很多看起来很奇怪的bug就是由此引起的

    4.对键盘的拦截处理:PreTranslateMessage 是MFC相关的,在MFC项目中也可能不会进入该函数,但是键盘钩子是肯定能被触发的。

    5.

    (int &)tmp = 1; // true
    (int)tmp = 1;// false

     6.

    for(size_t i = 100; i >= 0; --i)  // 小心这是死循环,因size_t是unsigned int,通常为消除编译器警告(有无符号整形)时出现

     7.  内存泄露的检测:Visual Leak Detector (code project上去搜)

       资源泄露的检测:GDIView

       暴力调试: DbgView

  • 相关阅读:
    jwt的简单使用
    使用golang对海康sdk进行业务开发
    产品项目开发流程
    Unity在场景切换之间清理下内存
    Unity3d中第三人称摄像机跟随的实现
    unity3d中利用网格去绘制血条
    java内存泄露原因简单总结
    线程安全的多参构建器实现
    java单例模式,多线程下实现
    forward和redirect的简单区别
  • 原文地址:https://www.cnblogs.com/pure/p/2364062.html
Copyright © 2020-2023  润新知