Warning : use with caution – jumping is a concept at odds with structured coding – it makes code maintenance difficult.
现在,我来自C和C在Unix,我熟悉重新入侵的问题,但老实说,我不知道为什么在Delphi从一个函数返回到达自然结束之前应该是邪恶的。
除非德尔福的所有功能和程序被视为进入者。
我失踪了什么
一个学派认为功能应该有一个出口点。许多编码标准强制执行。其动机来自于使用gotos,多个出口等维护大型功能的意大利面条代码的艰巨经验。
另一个学派认为,意大利面条代码是坏的,但应该是务实的,并根据其价值判断编码风格,而不是按照教条规则。例如,许多程序员认为,当您不使用退出时,保护条款比在出现的深刻缩进功能中更为优先。作为一个例子,请考虑Martin Fowler的优秀重构目录:Replace Nested Conditional with Guard Clauses的以下示例。
从根本上说,这一切都归结于个人偏好。我个人鼓励使用保护条款,但不要长期使用出口。