再谈一下某书



上一篇blog中我提到了“国内某位前端工程师今年出版的新书”,这里我想就这本书多说几句。

这本书的总体质量,当然肯定比《XX征途》要强。不过仍然出现了一些匪夷所思的bug。譬如说该书的第一章第一节,作者举了一个“糟糕的老网页的实现”的例子,并指出这个页面代码的问题如下:
* div布局和table布局混用;
* 标签名有大写,也有小写;
* 样式组织混乱,有用<style>标签的,有用<link>的,也有直接写在标签内的;
* JavaScript的编码风格很不一致;
……(还有好几条,这里略过)

先不论这几条是否一定“不利于维护”,我扫了一下那个“糟糕的老网页的实现”,却惊异的发现:
1. 该网页根本就是全部使用table来进行布局,并没有用CSS布局。当然,这个网页里有用css,但是并没有一句css是用来进行layout的。除非作者所说的“div布局”并非是我理解的CSS布局,而是把”<div align="center">“称作”div布局“。
2. 该网页里的所有标签明明都是小写!为了确定这点,我还看了好几遍,我还找其他人也看了好几遍,最后确定我没看错,所有标签都是小写。
3. 该网页里根本没有<link>标签。同样的,为了确定这点,我看了好几遍,还找其他人也看了好几遍。
4. 该网页里只有1个外部js文件的引用,2句inline的handler代码(分别是onmouseover="this.focus()"和onfocus="this.select()"),2行js代码(内容是“UserTrack.init(...)和document.form1.wd.focus()”)。不知道作者是如何从中看出“JavaScript编码风格”的。

上述几条,都是属于不用动脑即能发现的问题,有些(比如大小写)甚至都不需要懂技术就能看出来。这还是全书的第一章第一节!对此我最善意的猜测是,这个第一章或许是接近出版时临时草就补上的。即使如此,无论作者或是编辑,对此都负有不可推卸的责任。就是写篇blog,也不会有这样离谱吧?

其实,因为这本书定位的读者群是有一定经验的Web前端开发者,所以对于类似这样的问题,姑且认为不是像写给初学者的书那样重要。但是仍旧要拿出来说。因为这是一个态度问题。这里有出版社的问题,有作者的问题,有编辑的问题,还有那些写“推荐”的人的问题——你们写推荐的时候到底仔细看过没有?如果你没看过,那么你凭什么推荐?如果你看过的话,为什么那么明显的bug也没有发现呢?

所以没错,我又要“兼批技术社区的吹捧之风”了。

首先此书有一位国内重量级的前端开发者为其写推荐序(比起给《xx征途》写推荐的月影和winter,名声可能更大)。不过有趣的是,这篇序写得很艺术,提到了该书的目标与其他书“有本质的区别”,提到了该书前两章讨论的内容“很有必要”,提到了“本书中包含着许多开发的思想和经验”……却没有直接对该书进行褒扬。序的最后一句是“不同水平的Web前端工程师都会从中获得启发。”他的这句话非常“正确”,因为即使像我这样,对于其中的“许多开发思想和经验“持否定态度,却也不能否认确实“获得了启发”,呵呵。

相比而言,若干公司的前端部门的大小经理的“赞誉”,就比较赤裸裸了。另外还有若干技术社区的“赞誉”(注意是社区而不是社区的某人)。我纳闷的是,这些社区推荐中,推荐语都是“谁”写的?这个“谁”为什么就能代表整个社区对一本书进行“赞誉”?

回到这个书本身,既然是一本关于最佳实践的进阶书,重点其实在于它所推荐的方法。不幸的是,占据该书1/3篇幅的CSS部分,其中核心的几条理念几乎都是站不住脚的(其他部分其实也有一些问题,但是不像CSS那样严重)。当然,这类我称之为Anti-Pattern实践和理念并非凭空产生,而确实是有原因的,是我们需要面对的问题,我们既往在这方面的讨论确实很不够。下一篇blog我想就这个再做点讨论。



你可能感兴趣的:(设计模式,css,html5,出版,WinForm)