zoukankan      html  css  js  c++  java
  • Some New Tips

    1.关于“多态”:

      (1)应用程序不必为每一个派生类编写功能调用,只需要对抽象基类进行处理即可。这一
    招叫“以不变应万变”,可以大大提高程序的可复用性(这是接口设计的复用,而不是代码实现的复用)。

      (2)派生类的功能可以被基类指针引用,这叫向后兼容,可以提高程序的可扩充性和可维护性。以前写的程序可以被将来写的程序调用不足为奇,但是将来写的程序可以被以前写的程序调用那可了不起。

    2.以下是使用断言的几个原则:

      (1)使用断言捕捉不应该发生的非法情况。不要混淆非法情况与错误情况之间的区别,后者是必然存在的并且是一定要作出处理的。

      (2)使用断言对函数的参数进行确认。

      (3)在编写函数时,要进行反复的考查,并且自问:“我打算做哪些假定?”一旦确定了的
    假定,就要使用断言对假定进行检查。

      (4)一般教科书都鼓励程序员们进行防错性的程序设计,但要记住这种编程风格会隐瞒错误。当进行防错性编程时,如果“不可能发生”的事情的确发生了,则要使用断言进行报警。

    3.在用delete 或用free 释放p 所指的内存后,应该马上显式地将p 置为NULL,以防下次使用p 时发生错误。
    4.不要将BOOL 值TRUE 和FALSE 对应于1 和0 进行编程。大多数编程语言将FALSE定义为0,任何非0 值都是TRUE。Visual C++将TRUE 定义为1,而Visual Basic 则将TRUE定义为-1。示例程序如下:

    BOOL flag;

    if(flag) { // do something } // 正确的用法
    if(flag==TRUE) { // do something } // 危险的用法
    if(flag==1) { // do something } // 危险的用法
    if(!flag) { // do something } // 正确的用法
    if(flag==FALSE) { // do something } // 不合理的用法
    if(flag==0) { // do something } // 不合理的用法

  • 相关阅读:
    VS2010 MFC对话框程序用CButtonST给按钮添加图标
    VS2010 MFC 使用GDI+给图片添加汉字
    C++ Primer(第4版)-学习笔记-第2部分:容器和算法
    C++ 面向对象编程
    C++类(Class)总结
    delegate、notification、KVO场景差别
    iOS block种类和切换
    Copy 与MutableCopy的区别
    ios 避免循环引用
    WKInterfaceImage 无法更新图片的问题
  • 原文地址:https://www.cnblogs.com/taoxu0903/p/963596.html
Copyright © 2011-2022 走看看