你如何决定使用什么:UDF或自定义标签?

Ser*_*gii 3 coldfusion custom-tag user-defined-functions

WACK说:

如果您觉得需要大量参数,请考虑创建CT.

...

CT比自定义功能更强大,更灵活.尝试将UDF用于简单的事情...将CT和组件用于更多涉及的过程,尤其是那些您可以将其视为离散动作而非简单"按摩"的过程

好的,但你通常如何做决定?有兴趣了解现实生活中的实践和例子.

对我来说,当一个函数有许多不需要的参数时,就会发生这种情况,因此我必须将它们称为myFunc(arg1 ="foo",arg2 ="bar").有时<cfmodule>语法变得更易读,但并非总是如此.

其他原因是我不喜欢长(例如,超过2个代码屏幕)UDF.

但所有这些想法都是非常主观的,这就是为什么我有兴趣阅读其他人的意见.也许有更好的规则?

提前致谢.

Rya*_*ill 5

社区中可能有很多人不同意我,但这是我一般的想法.如果您需要做的事情涉及输出到屏幕,并且如果将其"包裹"在其他代码或文本周围是有意义的,那么自定义标记可能是有序的.在所有其他情况下,UDF工作正常,通常更好.话虽如此,在近8年的CF开发中,我真的没有找到一个非常好的理由来定制标签.我不是说原因不存在,但我会说它们很少见.

如果你有一个很长的UDF,是否可以安全地假设这是你通过调用这个UDF输出到屏幕的东西(不是真的返回我的意思)?如果可能有意义的话,我会考虑将UDF分解为更小的更易于管理的部分,但就像你暗指的那样,最重要的是对你,你的团队和那些可能追随你的人最具可读性的东西.

更新:出于好奇,您指的是CFWACK书(版本和卷)以及哪个页面?