根据wikipedia COMEFROM流量控制被认为是一个笑话,不可读或彻头彻尾的有害。我想这样的功能在AOP场景中非常有用(即,在没有向方法添加记录器调用的情况下将记录器添加到方法中)。
这种控制结构的非显而易见性的缺点是否超过了潜在的用途?还有其他缺点需要考虑吗?
由于this而提示问这个问题。
答案 0 :(得分:1)
对于初学者来说,在任何现代语言中都是无用的,因为你需要:
此外:
更好的想法是:
答案 1 :(得分:0)
就你提到的目的而言,Aspect Oriented Programming(维基百科)似乎是比comefrom
更有条理的解决方案。请参阅Motiviation and Basic Concepts(同上)的底部,了解如何在单独的文本单元中将日志记录添加到方法中。
在一种充分动态的语言中,可以使用“环绕”修饰符处理这种方法:
def do_something
...
end
log :do_something, "Something got done"
在这个设计的示例中,log
宏导致do_something
方法被新方法替换,该方法首先调用原始do_something
方法,然后将某些内容写入日志。