视图中的代码

在视图中放一点代码是完全没问题的——这可以充分利用视图的动态特性。但是,如果把很多代码放在视图中,那就是很糟糕的编程风格。
原因有三。
其一,视图中放的代码越多,就越容易诱惑你把应用程序的功能写在视图中。这是很糟糕的事情,业务逻辑应该放在控制器或者模型对象中,这样你可以到处复用它们——当你添加新的视图、从不同的角度来展现应用程序时,你就会发现复用的好处
其二,html.erb其实就是HTML,编辑它们就等于编辑HTML文件。如果你用专业的设计工具来创建页面布局,它们会操作这些HTML文件,把代码放在里面只会让事情变得更麻烦。
其三,视图中嵌入的代码很难被测试;而将这些代码抽取到辅助模块中则可以将它们彼此隔离、逐一测试。

做java的时候,我一直坚持不在jsp页面里写代码,甚至连最简单的代码我都要用自定义标签封装起来,以前虽然这么做,但不明白其中的原因。最近在学ror,作者解释得很清楚了,特此摘录。

PS:原本即使在一个200k代码行的项目里,我也坚持了“视图里不能有代码”的原则。。。本书的作者写道“用JSP的行话,这种代码叫做scriptlet。同样,要是看到你在模板中写这种代码,很多人会怒不可遏。别理他们——他们都是教条主义的受害者。”

原来哥一直是“教条主义的受害者”,呜呜。。。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值