我有 非常 在Web开发方面经验不多,所以这可能是一个非常基本的问题。
只是,从有限的经验来看,我 做 有(一点点PHP,一点点Ruby on Rails),似乎动态生成HTML的方式是 格式化 只是“没关系”;它最终变得丑陋,有着奇怪的缩进,没有人关心,因为那不是什么 用户 看到。
当然,除非用户是开发人员,或者甚至只是想要查看一些HTML以尝试学习某些东西的人。
也许你不知道我在说什么;所以让我举个例子。
在Ruby文件中,我可能有这样的代码:
<h1>Heading</h1>
<div>
<%= render :partial => '/layouts/body' %>
</div>
然后,在我的“/layouts/_body.html.erb”文件中,我可能会这样:
<p>Here is some content!</p>
<ul>
<li>List item 1</li>
<li>List item 2</li>
<li>List item 3</li>
</ul>
当所有这些都被渲染时,它看起来会很好。但是如果用户试图查看源代码,那么HTML看起来会非常糟糕:
<h1>Heading</h1>
<div>
<p>Here is some content!</p>
<ul>
<li>List item 1</li>
<li>List item 2</li>
<li>List item 3</li>
</ul>
</div>
显然,这不是什么大问题。我完全可以理解流行的观点是否只是“无所谓”。但这只是它必须的方式吗? HTML的可读性对任何人都无关紧要吗?
我只是想知道这是否曾经让其他任何人足以让他/她为它提出一个“解决方案”(显然它必须是一个将其视为“问题”的人)。
该 HAML 模板引擎是专门创建的,目的是生成正确的缩进,嵌套和格式化的HTML。没有理由为什么其他模板引擎不能做同样的事情。
所以,是的,这只是懒惰。
语义正确的验证HTML很重要;很重要。一些空格和换行并不重要 - 任何体面的格式化程序都可以轻松解决这个问题。大多数情况下,除了浏览器之外,没有任何东西可以查看它,因此与验证相比,它确实没那么重要。
当然如果你花时间缩进和格式化它会让我们这些懒得看的人看起来更好..
好吧,如果您在将文件发送给用户之前对文件进行额外的传递以美化它,您将:
增加文件大小(下载速度较慢),因此让您的用户感觉您的网站“滞后”而且速度很慢(就是这样)
在你的服务器上增加了额外的开销,可能最大化并减慢甚至更多
除了帮助一两个阅读源代码的人(可以在大多数编辑器中自动美化)之外,你希望通过这个来实现它的价值吗?
喜欢与否,HTML是一个 浏览器可读 格式,不一定是用户可读的格式。工具(WYSIWIG编辑器,标记语言,如Markdown,MediaWiki等) 您最喜欢的Web框架)应该用于生成HTML。有很多程序可以让开发人员读取HTML;看其他帖子。
XHTML和XML生成工具在可读性方面有一定的承诺,因为它们的输出可以更容易地进行后处理(例如通过浏览器的源视图)以获得适当的缩进,但是(恕我直言)还不是很成熟,判断为所谓的“W3C XHTML兼容”网站的数量确实不是。较新版本的,例如,WordPress努力,但他们的扩展,插件等充满了坏(X)HTML,甚至没有考虑他们产生的JavaScript的数量。 (我们如何缩进呢?)
给我们的建议:
- (X)HTML生成代码应该是 对开发者可读。但请使用至少产生准可读性的东西。
- 了解您的浏览器 搜索 功能和使用正则表达式。
- HTMLTidy在它的许多伪装中,是你的朋友。在测试中使用它并将其输入与其输出进行比较
我从来不在乎,因为如果我想看看格式很好的格式我可以 TIDY虽然跑了 在我看之前。
它过去一直困扰着我,但我也认为让它看起来不可读有它的优点。它是代理的半混淆代码。
但是,许多工具(例如FireBug)会在DOM结构中很好地格式化代码,因此对于开发人员而言,它实际上并不重要。
要查看更好的格式化html,您可以使用Google Chrome的“Inspect Element”功能或Firefox中的firebug插件。我一直处理动态生成的html(使用php),而且我从不使用'view page source',这些其他工具的工作要好得多。