记《Learning Highcharts》的技术评审

 

这其实一次比较意外的活动,令人高兴的是,最后我拿到了他们的成书,并且上面确实印上了我的名字。今天把这件事前前后后的过程,都记录并分享出来。也许会有更多人、更多的机会参与到类似的活动中。

和Highcharts的早期接触

我最在接触到Highcharts是公司产品要绘制网络流量图,在那之前的方案是PHP的gd库在后端绘制,然后前端用img标记,引用这个图片。这样做有个好处是对客户端环境依赖较少,并且我们可以一次生成HTML展示用图和打包到报表文档里的图片。

当我们开始面对类似“流量监控”,这样需要图片频繁刷新的时候,我们就需要重新选择在哪边画图了。

我在公司的导师@f0rgetting 评估了若干js的库之后,选择了Highcharts,之后公司购买了商业授权。我们便在产品里引入了Highcharts,绘制网络流量图。

开始阅读《Learning Highcharts》

在2013年下半年,我们组有了更多的小伙伴,有精力来改进我们的产品里那些图,改善一些交互效果。@Yves_Lau再改进交互图表的时候,向我推荐了《Learning Highcharts》这本书。里面有很多实例,以及关键的实现说明。

我本来是想拿这本书,一边看一边深入了解一下这个开源库。我们创建了一个翻译项目,算是阅读笔记。因为是出版社声明了版权保护,我特意去查了一下相关法律,“翻译权”也算在著作权一部分归属权利人,所以我在项目首页特意注明了权利,默默的开始自己的学习之路。版权风险是个借口,主要是自己实在太懒了,这个项目目前虎头蛇尾,到现在还停留在开始的几章当中。

意外收到PacktPub的评审邀请

2014年6月份, 突然收到来在出版商PacktPub的邮件,看到发件人的时候,我有种不祥的感觉。以为出版商准备来找我麻烦了。直到我看到这句:

We’re currently developing a book on Highcharts. Would you be interested in acting as reviewer for this course?

I came across your profile on Github and I believe you’ll be best fit to review our current project on the Highcharts technology.

出版商明确地说,就是从GitHub上看到我的,问我有没有兴趣对他们的新书做评审。抱着“我不答应,他们是不是会找我麻烦?”的顾虑,我答应了他们的请求。

当然,不能你找我做评审,我立马就答应你。这样观众一看,就知道是假的。

稍有波折的评审之旅

我说:我很高兴能做这件事,但是,my English very poor, you see see 这样 ok 么?

人家说:You are only required to review the content of the book from technical standpoint and not the grammatical errors.

我说:那行吧,你们不怕死,我就干。

人家说:这有个列表,你先看看。

这是一份《Reviewer Information Sheet》,一共五页。讲了这些内容:

  1. 整个工作流程是什么样子的,你需要读一章节书,填一个反馈表,再发回来。
  2. 要怎么做评审,在文档里怎么通过添加批注的方式,标注你发现的问题。
  3. 评审之后,出版社会做什么,编辑会做什么,还什么时候会联系你。
  4. 评审要重点关注哪些地方:哪里的描述需要提升;逻辑结构是不是适合读者阅读;有没有技术瑕疵,图文是否是对应的;你要真是实在忍不了,你也可以要求作者重写某一部分。
  5. 当你在原稿上添加完批注之后,要重命名文件,加上自己名字缩写。

我看完这份文档,我说,“我看完了,咱开始吧”。出版商说,“别急,计划有变,定下来我们再联系你”

又过了俩月,另外一个人再次联系到我,说“我们准备更新再版《Learnning Highcharts》,还是做我们的technical reviewers,你的名字会被印到书上,并得到这本书的印刷版,你还可以挑另外一本书的电子版,但是呢,我们不给钱,你还干么?”

“也行吧,来吧。”

我拿到第一稿的时候,应该是有编辑或者其他评审看过的。word里面密密麻麻有很多修改标记、批注。标点的,修辞的,词序的,大小写的,字号和字体的,批注里甚至还有对话……我只好选择只展示最后状态,隐藏掉格式修改的标注。

书稿评审时间非常的紧凑,每2~3天,就必须完成一个规定章节的评审。这样就每天晚上,都被迫要看书。而且还是要认真看书,还要认真的快点看书。一本讲实现的书,还要把代码看一遍,跑起来看看是不是那么回事,作者大多数时候只给一个关键部分的代码片段,跑起来的时候,还要前后都自己补齐代码。真要是没跑起来,还要看看是我错了,还是作者给的代码有问题。

所以我给提的问题,大多在代码附近:代码里给title赋了一个名字,但是配图里面是另外一个名字;把代码缩减成片段的时候,误删了一些必要的参数、分号之类的;一些旧版本里的小技巧,在highcharts升级之后,可能就不需要了。

就这样,我读完了3、4、5、6、7一共五章的内容。我的约定评审任务,就这样完成了。我提交了BIO和联系方式之类的东西,静等他们出版了。

又过了半个月,邮件说,“能不能再帮我们评审第8、9章,从今天算,每章有三天时间。”。昂?你们被其他reviewer放鸽子了么?行,来吧。

评审完这次附加的两张,我所有的工作就告一段落。出版社的评审协调人,还是很客气的写了一封vote of thanks,看上去像是感谢我拥有随时听候召唤的属性?

I really appreciate your support and cooperation whenever needed.

很久之后

去年9月份完成5章评审,10月份搞定多加的两章。之后,我的工作发生变动,换了新的办公地址,不得不告诉他们更新我的邮寄地址。

直到前两天,3月16日,我意外收到了一个包裹。

image

翻开里面,真的印了我的名字

image

OH, YEAH!

后感

几点感受:

  1. GitHub无论如何都要去开个账号,放个项目。毕竟是世界上最大的同性交友平台,程序员必备。
  2. 语言很重要,但是再烂也不用怕。毕竟技术相关的,都不是太复杂,一般情况下google都可以应付。
  3. 有机会感受一下和不同国家的人远处合作还挺好玩的。那种信任感很奇妙,邮件回复人家OK了,就无论如何都要在规定时间内搞定。