一个连衣服都穿不整齐的人,代码也肯定写不整齐。
一个连衣服都穿不整齐的人,代码也肯定写不整齐。
今天我想和大家讨论的话题就是关于代码缩进的问题,再说之前,我想先给大家看两段代码:
代码片段一:
<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完全可以统一,同时也避免了个人英雄主义的出现。
要说的就这么多,这次不算分享,算是告诫吧。代码规范不仅仅只是缩进,希望所有开发人员都能从代码编写规范做起,为自己,也为他人。
收尾呼应下吧,其实不一定要看穿衣是否整齐,从很多方面都可以,比如桌面图片排放,硬盘文件分类,都能看出一个人做事是否有条理。相反,从代码也能体现出一个人性格,做事方式等等一些习惯。
新博客地址
hooray.github.io
hooray.github.io