zoukankan      html  css  js  c++  java
  • 曾经犯过的错误

    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

  • 相关阅读:
    HDU2586 How far away?(tarjan的LCA)
    You Raise Me Up
    POJ2891 Strange Way to Express Integers(中国剩余定理)
    POJ2142 The Balance(扩展欧几里得)
    HDU 1166模仿大牛写的线段树
    NetWord Dinic
    HDU 1754 线段树裸题
    hdu1394 Minimum Inversion Number
    hdu2795 Billboard
    【完全版】线段树
  • 原文地址:https://www.cnblogs.com/pure/p/2364062.html
Copyright © 2011-2022 走看看