使用velocity宏创建UI组件是一个好主意, 什么是性能和代码维护
例如,取代
<input type="text" name="$name" value="$value" />
我们会写
#text($name $value)
答案 0 :(得分:1)
如果您想要隐藏分支逻辑或长html,这当然很方便。 假设您需要通用导航按钮格式化程序,只需在一个位置更改代码即可。 恕我直言,对于重构而言,便携性和新团队成员更容易,也许更难。
以下是我使用的示例代码:
#macro( viewCtrlButton $butId $butText $style) ##style is optional
##configuration phase
#if ($style == "save") #set($type = "icon-buttons cat-save")
#elseif($style == "cancel") #set($type = "icon-buttons cat-cancel")
#elseif($style == "next") #set($type = "buttonz but_naviR")
#end
#if ($butId.contains("."))
#set($link = "super_link")
#else
#set($link = "submit_link")
#end
##the actual code to construct
<a id="$butId" href="#" class="$type $link">
<span> $butText </span>
</a>
#end
答案 1 :(得分:0)
没有“好”或“坏”,“适合环境”。
除非涉及大量逻辑或大量简化,否则我不只是用宏或模板替换标准标签 - 我需要足够的功能来包装额外的工作,额外的时间和额外的认知负担值得。
(“认知加载”只是意味着如果我正在查看模板文件,如果我必须查找宏,那么我需要更长时间才能完全理解它正在做什么。这不一定是坏的,如果我知道的话应用程序的代码,它不相关。)