一个连衣服都穿不整齐的人,代码也肯定写不整齐。

  一个连衣服都穿不整齐的人,代码也肯定写不整齐。

  今天我想和大家讨论的话题就是关于代码缩进的问题,再说之前,我想先给大家看两段代码:

  代码片段一:

<div id="titleinfo"><div>
</div></div>
<div id="header">
	<ul id="navigationMenu">
	<li><a href="#" onclick="tixing()" class="normalMenu">首页</a></li>
	<li><a href="#" onclick="tixing()" class="normalMenu">爱看电锯</a></li>
	<li><a href="#" onclick="tixing()" class="normalMenu">爱品电锯</a></li>
	<li><a href="#" onclick="tixing()" class="normalMenu">爱玩电锯</a></li>
	<li><a class="selectedMenu">爱听电锯</a></li>
	<li><a href="#" onclick="tixing()" class="normalMenu">爱藏电锯</a></li>
  <li><a href="#" onclick="tixing()" class="normalMenu">在开发中</a></li>
  <li><a href="end.html" class="normalMenu">后记</a></li>
	</ul>
</div>
<div id="mbnav">


	<a href="#" onclick="tixing()">首页</a> > <a href="ting.html">爱听电锯</a></div>
	<div id="content">
		<div id="detail">
			<div style="width:453px; margin:0 auto; padding:0;">
			<p style="float:left; clear:left; padding-top:3px"><a href="http://u.115.com/file/f146e8f016" target="_blank" style="padding:0"><img src="image/ting/1/logo.jpg" width="210" height="190" class="ting_tip" title="点<br>击<br>下<br>载<br>第<br>一<br>部<br>原<br>声" /></a></p><p>
				<object type="application/x-shockwave-flash" data="flash/dewplayer-playlist.swf" width="240" height="200" id="dewplayer" name="dewplayer"><param name="wmode" value="transparent" /><param name="movie" value="flash/dewplayer-playlist.swf" /><param name="flashvars" value="showtime=true&autoreplay=true&xml=image/ting/1/playlist.xml" /></object></p>
			</div>
			<fieldset class="re">
			<legend class="title">胡尐睿丶推荐:</legend>
				<p>  下面这首是我很喜欢的一首歌曲,它虽然只是第五部预告片里的背景歌曲,但真的很好听,建议大家听听。歌曲名:《be thou my vision》,演唱者:Corrinne May,也有其他人的翻唱版本,不过我还是喜欢原版。<br />
				  <object type="application/x-shockwave-flash" data="flash/dewplayer.swf" width="200" height="20" name="dewplayer" id="dewplayer">
				<param name="movie" value="flash/dewplayer.swf" />
				<param name="flashvars" value="mp3=image/ting/Corrinne May - be thou my vision.mp3" />
				<param name="wmode" value="transparent" />
				</object></p>
			</fieldset>
		</div>
</div>

  代码片段二:

<div id="titleinfo"><div></div></div>
<div id="header">
	<ul id="navigationMenu">
		<li><a href="#" onclick="tixing()" class="normalMenu">首页</a></li>
		<li><a href="#" onclick="tixing()" class="normalMenu">爱看电锯</a></li>
		<li><a href="#" onclick="tixing()" class="normalMenu">爱品电锯</a></li>
		<li><a href="#" onclick="tixing()" class="normalMenu">爱玩电锯</a></li>
		<li><a class="selectedMenu">爱听电锯</a></li>
		<li><a href="#" onclick="tixing()" class="normalMenu">爱藏电锯</a></li>
		<li><a href="#" onclick="tixing()" class="normalMenu">在开发中</a></li>
		<li><a href="end.html" class="normalMenu">后记</a></li>
	</ul>
</div>
<div id="mbnav"><a href="#" onclick="tixing()">首页</a> > <a href="ting.html">爱听电锯</a></div>
<div id="content">
	<div id="detail">
		<div style="width:453px; margin:0 auto; padding:0;">
			<p style="float:left; clear:left; padding-top:3px"><a href="http://u.115.com/file/f146e8f016" target="_blank" style="padding:0"><img src="image/ting/1/logo.jpg" width="210" height="190" class="ting_tip" title="点<br>击<br>下<br>载<br>第<br>一<br>部<br>原<br>声" /></a></p>
			<p>
			<object type="application/x-shockwave-flash" data="flash/dewplayer-playlist.swf" width="240" height="200" id="dewplayer" name="dewplayer">
			<param name="wmode" value="transparent" />
			<param name="movie" value="flash/dewplayer-playlist.swf" />
			<param name="flashvars" value="showtime=true&autoreplay=true&xml=image/ting/1/playlist.xml" />
			</object>
			</p>
		</div>
		<fieldset class="re">
			<legend class="title">胡尐睿丶推荐:</legend>
			<p>  下面这首是我很喜欢的一首歌曲,它虽然只是第五部预告片里的背景歌曲,但真的很好听,建议大家听听。歌曲名:《be thou my vision》,演唱者:Corrinne May,也有其他人的翻唱版本,不过我还是喜欢原版。<br />
			<object type="application/x-shockwave-flash" data="flash/dewplayer.swf" width="200" height="20" name="dewplayer" id="dewplayer">
			<param name="movie" value="flash/dewplayer.swf" />
			<param name="flashvars" value="mp3=image/ting/Corrinne May - be thou my vision.mp3" />
			<param name="wmode" value="transparent" />
			</object></p>
		</fieldset>
	</div>
</div>

  就以上两段一模一样的代码,如果老板说,这里面有几个错误,你会选择哪一个去修改?我想毫无疑问都会选择代码二吧。

  可能有人会钻牛角尖,说就这么几行,选代码一也一样。试问,如果一个十万行的项目代码,成篇都是这样无规则的缩进,你还有维护他的欲望么?别说维护的欲望了,要是这事摊到我头上,我都想有辞职的欲望了。

  说到这里,我不禁想问一句开发人员,代码缩进真有那么困难么?别再和我说什么“我们要专注于开发,别鸡蛋里挑骨头谈什么缩进,那只会减少我们开发时间”这类扯蛋的回话。我也是做开发的,如果敲缩进的时间都没有的话,那你就别写什么功能实现代码了,写了也没人想看。

  至于缩进,我建议是用tab键。首先,一个tab的长度相当于4个空格,但容量只有其1/4,减少文件大小;其次,空格要按4下,tab只需按1下,减少重复无意义的操作。但有人会反驳,说tab在不同IDE下长度显示不一,其实这个在实际开发中可以尽量避免,如果公司不是很大,开发人员不是很多的时候,IDE完全可以统一,同时也避免了个人英雄主义的出现。

  要说的就这么多,这次不算分享,算是告诫吧。代码规范不仅仅只是缩进,希望所有开发人员都能从代码编写规范做起,为自己,也为他人。

  收尾呼应下吧,其实不一定要看穿衣是否整齐,从很多方面都可以,比如桌面图片排放,硬盘文件分类,都能看出一个人做事是否有条理。相反,从代码也能体现出一个人性格,做事方式等等一些习惯。

posted @ 2011-10-21 22:39  胡尐睿丶  阅读(7537)  评论(48编辑  收藏  举报