mwc*_*wcz 1 vim coldfusion whitespace coding-style
如果你使用ColdFusion,你可能已经习惯了换行或水平滚动.不常见,这并不是那么糟糕,但是当现有代码库中的四行中有三行被包装时,有时两次,这就成了一个巨大的可读性障碍.
像......这样的一条线
<cffunction name="v_multiple_item" access="public" output="false" returntype="query">
Run Code Online (Sandbox Code Playgroud)
很容易被HTML分解成
<cffunction name = "v_multiple_item"
access = "public"
output = "false"
returntype = "query"
>
Run Code Online (Sandbox Code Playgroud)
在良好的编辑器中使用宏自动化相当容易.我更关心的是穿插ColdFusion和HTML,如下所示:
<cffunction..>
<cfif..>
<cfif..>
<form..>
<div..>
<table..>
<tr..>
<td..>
<cfif..>
<select..>
<cfoutput>
<option>#stuff#</option>
</cfoutput>
Run Code Online (Sandbox Code Playgroud)
我看到在空白区域内换行的8-sp选项卡的代码行并不少见.
减少标签宽度还不够.代码库太大,无法重写/框架化.左倾齐射一切?
是否有一个简单的,成功的策略,可以将线宽减小到可管理的水平,而不会进一步损害可读性?
我不想在这里遇到"标签与空格"问题,但您可以做的一件事就是在IDE中调整标签.如果使用Tab键,则总是可以将制表符设置为2或3个空格而不是8个(或更多).这将减少不必要的空白,至少在视觉上.
在Eclipse中,您可以在Preferences> General> Editors> Text Editors下执行此操作.有一个"显示标签宽度",您可以减少心脏的内容.
然而,真正的答案是,这只是野兽的本质.如果您要将CF与HTML混合,并且想要清晰,那么您将缩进代码.
编辑:想想看,CFInclude刚刚浮现在脑海中.当然,这也可以导致意大利面条代码,但是这样的事情通常是通过CFInclude处理的.您可以将CF代码的可重用部分分解为cfm模板并包含这些部分.对于带有标题的情况,有许多嵌套的div和CF逻辑混合在一起,你最好还是使用cfinclude.因此,看起来像您的示例的index.cfm页面可能看起来更像是这样:
<cfinclude template="header.cfm">
<div>Some Content Here</div>
<cfinclude template="footer.cfm">
Run Code Online (Sandbox Code Playgroud)
你的所有包装都包含在header.cfm或footer.cfm中.您甚至可以在这些模板中包含这些模板,同时将导航内容保持在单独的cfm页面中.
我不是主张你使用包含hogwild,但它是在ColdFusion中处理可重复使用的HTML/CFML片段的标准方法,并将其分解为概念块,以便更容易找到您正在寻找的内容.