在我遇到的各种情况下,我需要检查函数的参数以保证正确的程序流程。
我发现创建 if-else 块只是为了检查空指针、数字范围、正确的字符串、正确的对象等变得有点乏味。此外,代码变得更难阅读,因此更难进行概述。
所以我想如果在 java/javascript/c#...(带有函数的编程语言)中有一种方法可以定义一些先决条件会怎样。
所以例如在java中:
void doSomething( int a {0 <= a < 10}, String b {b != "wrong" && b != [1-9]}){
...
}
或类似的东西:
§a: 0 <= a && 10 > a || a == 25 ...
§b: ...
§ifWrongPreConditions: return; //or throw a new default Exception or whatever
void doSomething( int a, String b){
§a: 0 <= a && 10 > a || a == 25 ...
§b: ...
§ifWrongPreConditions: return; //or throw a new default Exception or whatever
...Code...
}
或方法头上方。基本上,第二个想法也可以帮助后置条件,您只需要查看该函数即可知道您需要做什么,以便该函数正常工作。
但是我不确定是否已经实现了类似的东西,但我想让它更容易成为对函数“元信息”的概述,以便可以预测所需和不希望的行为,并且可能更容易使其与 OCL 配合使用。
所以回到问题:有没有一种好方法来定义在相应语言中易于阅读的前置条件、后置条件,也许是方法的不变量(可能是类和类似的东西)?
(PS 我不确定我在这里设置的标签是否“正确”,因为对于不同语言来说,这是一个实际问题,涉及可能会遇到这些语言中的程序员的概念。为此提前抱歉)
弑天下
繁星coding
相关分类