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

  • 相关阅读:
    Maven:mvn 命令的基本使用
    Java:SPI机制
    Bootstrap3 排版-内联文本元素
    Bootstrap3 排版-页面主体
    Bootstrap3 排版-标题
    Bootstrap3 栅格系统-Less mixin 和变量
    Bootstrap3 栅格系统-列排序
    Bootstrap3 栅格系统-嵌套列
    Bootstrap3 栅格系统-列偏移
    Bootstrap3 栅格系统-实例:响应列重置(Responsive column resets)
  • 原文地址:https://www.cnblogs.com/pure/p/2364062.html
Copyright © 2011-2022 走看看