代码改变世界

请保持Asp.net MVC中View的可读性

2011-04-19 16:51  zhoujie  阅读(1837)  评论(6编辑  收藏  举报

 MVC中的View既可以写HTML代码,也可以写C#代码,代码的可读性一不小心就会变得很差。

 在下做过一个项目,后端数据库用XML保存用户提交的自定义数据,前端需要解析XML数据,然后输出我们的HTML展现给用户一个漂亮的界面。第一次做的时候没感觉可读性很差,因为XML的结构已经了然于胸,于是在View中加入了大量的For,if逻辑,很快就交差了,领导也很满意。没想到3个月以后,领导要求做一些改动,这下可傻眼了,当时写了些什么天书啊,当时的数据结构早已忘得一干二净。可想而知,自己又付出了多少劳动,浪费了多少脑细胞。

对我来说像下面这种简单的数据邦定语法,还是可以接受的。

                <p>
                    
<label for="username">Username:</label>
                    
<%= Html.TextBox("username"%>
                    
<%= Html.ValidationMessage("username"%>
                
</p>
                
<p>
                    
<label for="email">Email:</label>
                    
<%= Html.TextBox("email"%>
                    
<%= Html.ValidationMessage("email"%>
                
</p>

 这需要我们将大部分逻辑放在Controller里面,构造出数据Model,然后邦定到View上。因为数据模型一般是不会改变的,View却是经常变的。

 必要时写一些HTML的Helper方法也可以,总之一句话尽量保持view具有良好的可读性 。什么是可读性良好?在我看来就是一段一段的,每一段负责自己的事情,将来维护时可以迅速的定位到这一段,然后快速修改完交差。不能是一砣没有结构性,牵一发而动全身。