man*_*ama 1 programming-languages readability
我今天正在阅读一些代码(C,如果它对任何人有所影响),并对开关块感到好奇.
switch (c_type) {
case -1:
some_function(some_var);
break;
[...]
default:
abort();
}
Run Code Online (Sandbox Code Playgroud)
现在,这是一个非常简单的开关块.这是 - some_function(some_var)我很好奇:如果你,程序员,绝对的,积极的,超级的,确保调用会导致进程退出,你是否仍然将break-statement放在下面,即使它完全没必要?你会说这是最好的做法吗?
我想说最好的做法是assert()在函数调用下面进行一次轰炸.这有两个目的:它记录了运行时中的这一点应该无法访问的事实,并且如果代码以某种方式确实到达那个位置它会产生错误消息.