论坛首页 编程语言技术论坛

视图中的代码

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

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

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

原来哥一直是“教条主义的受害者”,呜呜。。。
   发表时间:2011-01-12  
没看懂楼主要表达什么。。
0 请登录后投票
   发表时间:2011-01-13  
额。。前半部分是书里说的,摘录一下

后半部分是我自己的体会。。
0 请登录后投票
论坛首页 编程语言技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics