推荐《编写高质量代码(web前端修炼之道)》

      前一阵子听说了这本书,在网上也看了几章,觉得不错,于是在当当网上订购了这本书。

      书在前天送到,今天下午读完。因为最近公司没什么事,所以看得比较多一点。这是一本值得阅读和收藏的书。下面我简单分享一下这本书带给我的知识。

      以前和一个做前端的朋友聊天,他问我,div+css和table有什么区别。我当时回答他的是table加载速度慢,而且不容易修改。他说你认识的太少了。读了这本书之后,我才真正明白了,最本质的区别其实不是那两个原因,而指前者比后者更语义化。举个简单的例子来说,一张图片和一段文字,通常用img和p标签就可以了,可是一个“多div症”的人会写成多个div+img+span,就像以前的我。在这一点上,我受益不少。当然受益归受益,实践到代码上,这需要日后时间上的积累与总结,我相信以后在写页面时会注意到这些问题的。

      语义化,在此举两个例子:

      1、form。一个好的表单,我个人觉得至少含有fieldset、legend、label等标签。fieldset用来表述框架集,及表单集合,legend注释表单名称,label用来和input交互,提高用户体验。

      2、table。一直以来,我都觉得没必要写thead、tbody等标签,看了这本书之后,才知道为了更好的语义化,有些标签还是要加上去的。

      关于如何组织css,作者提到一种方法:base.css+common.css+page.css。

      base.css层提供css reset功能和粒度最小的通用类,它可以应用于所有的项目,所以它一定要精简和通用。

      与common.css层相关的是样式的模块化,我们可以将页面中大量重复的模块视为一个组件。这一点我感慨很多,因为以前的页面,头部的样式和底部的样式,我都写在页面里面的,而这两个页面包含进来后,<style>成了body里面的元素,这样也不符合W3C标准。现在有了这一层,我完全可以把头部和底部的样式放进去,同时也可以将各个页面中大量重复的模块抽取出来,由此节省了很多代码。

       page.css层是作为当前页面的样式,这一点我就不详细说了,因为确实也没什么好说的。

       这种方法,在实际中绝对有操作性,可以说是这本书带给我最大的收获了。

       在js方面,作者提到了全局变量应该注意的细节,以及js的一些继承或者js的其他特性。说句老实话,看过js高级编程的话,会对这些东西没多大兴趣了,因为里面大多用到js高级编程里面的东西。不过也有所收益,毕竟重新温习了一遍,也对我日后看jquery有一定的帮助。

       这篇文章搁置了很久,终究决定想把它写完,前些日子一方面冷,一方面确实偷懒了。有时候想想,偷懒要不得,但是到了关键时候,还是会那样,哎,希望自己能减少一点吧!如果大家对那本书感兴趣的话,就把它买了吧,它值得前端开发人员买!

 

posted on 2011-01-07 15:59  大空翼  阅读(410)  评论(0编辑  收藏  举报

导航