微信号:infoqchina

介绍:有内容的技术社区媒体

第三只眼:写作工程化

2013-08-30 16:41 InfoQ

最近终于拿到了百度前端研发部张云龙同学的稿件,描述《前端工程与性能优化》之间的那些事儿。这个系列文章虽然仅仅介绍静态资源版本更新和静态资源如何管理这两件事,看似简单,但实际上却有无数的坑要去了解。如何最好的绕过这些坑,涉及到很多需要深入思考的内容,这是非常工程化的思维方式。


前端工程化,从某种程度看来,是一种二分法:设计这套体系的前端需要具备更多的工程思维,将所有的流程、模板设置好;而更多在一线写页面、写CSS的前端同学,则返回到一个“车间工人”的状态,只需要在设置好的框架内进行被告知要进行的工作即可。在框架内,“工人”仍然能够发挥自己的创造力;而整体框架则确保了项目无论在何时都有令人满意的性能和可维护性。比如对于F.I.S而言,整体框架的设置已经把页面调用JS资源该怎么写、页面调用CSS资源该怎么写、资源文件往哪里放、如何命名都限定好了,前端工程师完全按照这套框架来执行,系统自然会处理剩下的工作,使整体效率最大化。


很多时候,创新并不意味着打破条条框框。有框架的限制,反而能够使工匠们专注在他们应该专注的事情上。比如五言绝句,七言绝句,词牌,都是对诗人的限制;但正因为诗人需要遵循字数、声调方面的限制,才迫使他们精选最恰当的字词组成他们的诗句。如果把心思用在文体的创新上,搞一些梨花体、桃花体的,那反而是本末倒置了。


对于很多开发者而言,技术文章写作似乎是件不太容易入门的事情:即使他们写过很多代码,写过很多邮件,他们还是对于文章该怎么写处于比较模糊的状态。比如要介绍一个项目,有很多方面,我有哪些应该放进来,哪些不用提?哪些该先写,哪些后写?哪些写的详细,哪些快速带过?


这三组问题涉及到内容的取舍、排序、节奏,都是技术写作的基本元素。


之前跟华章出版社的杨福川同学聊如何把不会写作的开发者培养成会写作的技术作者的话题,杨福川同学就说了,其实对于技术书籍,有基本固定的分类法;而对于每种类别的图书,它的章节规划都是差不多的。所以只要有一个模板,告诉作者说,你第一章写什么,第一章第一部分写什么,第二部分写什么,那么作者拿着这个模板去套,上面那三个问题就此就都解决啦。


我一听,觉得这个说法还真没错。回到InfoQ的内容上,其实无论是新闻还是文章,都是可以准确进行分类的。于是我就大致分了一下类:


纪实类新闻


• 线下活动的演讲纪实

• 新产品发布、版本更新纪实

• 新鲜有创意的技术项目纪实

• 战略发布纪实

• 技术应用状态纪实

• 事故纪实

• 新书、新文章、新文档发布纪实

• 某人最近说了什么话纪实


二次记录型新闻(讨论、观点整理类)


• 社区对新产品的讨论

• 社区对产品新版本的讨论

• 社区对战略发布的讨论

• 社区对技术应用状态的讨论

• 社区对活动、会议的讨论

• 社区对一个事件的讨论

• 社区对一个话题的讨论


汇总整理型新闻


• 细分领域的定期阅读列表

• 细分领域的近期相关事件列表


深度文章写作


• 深入介绍一个技术点

• 比较两个或多个技术点

• 深入介绍一个概念或方法论的实践案例经验

• 深入介绍一个项目实施的案例经验

• 深入介绍一个项目、团队管理的案例经验

• 介绍一个新概念

• 深度采访

• 虚拟座谈会


试着把目前InfoQ上所有的新闻和深度文章进行匹配,发现没有匹配不上的。如果有匹配不上的,要么是内容不符合InfoQ内容的要求,要么是需要添加一个新的内容类型,并不难解决。


所以现在我正在做的一件事情就是,为所有这些内容类型制作模板,详细说明对于每种类型的内容匹配哪种类型的线索,面向的读者是谁,它的标题是什么规范,正文的第一部分、第二部分、第三部分分别应该写什么。


这些整理出来的文档,将会陆续在 infoq.github.io 上更新,作为InfoQ编辑的培训资料。我想,这应该是一件值得投入精力做的事情。


你觉得这样的一套文档对你进行技术写作是否会有帮助?欢迎反馈!


本日作者简介


杨赛(@lazycai),InfoQ中文站编辑。到处串门的互联网信徒,相信规则的力量。


***********************************

本文来自InfoQ微信公众账号:infoqchina

1、回复“今日新闻”,查看今天更新的新闻;

2、回复“今日英文”,查看今天英文站的更新;

3、回复“文章 +关键词”,搜索关键词相关内容;

4、回复“QCon”,了解QCon大会相关信息;

5、回复“活动”,了解最近InfoQ组织的线下沙龙;

6、回复“架构师”,获取《架构师》下载地址;

7、回复“投稿”,了解投稿流程。

***********************************

 
InfoQ 更多文章 Facebook如何实现PB级别数据库自动化备份 学术派Google软件工程师Matt Welsh谈移动开发趋势 Spotify为什么要使用一些“无聊”的技术? 妹纸们放假了,汉纸们做啥? 大多数重构可以避免
猜您喜欢 iOS 开发流程笔记 Docker 使用 OpenvSwitch 网桥 原创馆里的圆珠笔插画神作 - 腾讯ISUX 女程序员的梦,众网友的神回复 程序员,出现这些情况时,请辞职!