zoukankan      html  css  js  c++  java
  • 断言【Delphi版】

    一.基本概念

      只是一个“验证推断”的调式工具,而不是程序的一部分。
      a)断言作用:顾名思义,开发者用于“验证自己的推断”的工具,调试阶段使用。
                       简单的参数验证——变量
                       复杂的条件验证——函数
        简而言之, 断言是用来验证我们编码时所做的假设,而不是用来处理
      运行时的各种逻辑分支。

     

      b)开启与关闭

         整个IDE: Project—>Option—>Compiler—>Assertion

         代码中:{$ASSERTIONS ON} ,{$ASSERTIONS OFF}

     

      C)何处使用

         1)私有函数中进行“参数检查”
         2)适当的地方,检查系统中的某些关键变量
              对于公共函数,通常不使用assertion检查,因为一般来说,公共函数
         必须对无效的参数进行检查和处理。而私有函数往往是直接使用的。
             如果触发了断言,说明私有函数的“调用者出了差错”——没有保证好参数的范围   

     

      PS: 为什么私有函数里的条件检查不用if-else,而用断言
           1)断言更加简洁
           2)编码习惯上,私有函数通常“直接使用参数,而不检查”,程序的release版本里,
           断言可以直接去除。

     

    二.应用实例

        调用私有函数:

    begin
      {$ASSERTIONS ON}
      Self.SetUserInfo('Terry',200);
    end;

        私有函数:

    procedure TFrmMain.SetUserInfo(name: string; age: integer);
    begin
       ASSERT(((age>0)and(age<120)), '年龄输入超出范围!!');
       
       Self.FName:=name;
       Self.FAge:=age;
    end;

        运行结果:

       

  • 相关阅读:
    superset可视化不同算法的点击率
    flume通过avro对接(汇总数据)
    Flume同时输出数据到HDFS和kafka
    剑指offer题目系列二
    剑指offer题目系列一
    Servlet生命周期与线程安全
    Servlet初始化及处理HTTP请求
    Servlet及相关类和接口
    web.xml配置文件详解
    递归与斐波那契数列
  • 原文地址:https://www.cnblogs.com/edisonfeng/p/2513426.html
Copyright © 2011-2022 走看看