今天,推荐一本非常著名的开源书籍:《LinesorLess》。
在开始正题之前,先介绍一下它所属的系列。该系列叫AOSA,是“TheArchitectureofOpenSourceApplications”的简称,即“开源程序的体系结构”,目前有四本书,本期主角是最近的一本(发布于.7.12)。
这个系列最初的目的是:研究那些优秀的开源项目,从中吸取精华的实践经验。
在前三本书中,研究对象已多达50几个,其中不乏名头响亮者,例如Eclipse、Selenium、Git、matplotlib、nginx、Puppet、Pypy、SQLAlchemy与Twisted等等。
每个章节的作者都是开源软件的核心参与者,介绍了项目是如何设计的、为什么这样设计、主要的组成部分是什么、各模块间如何互动、开发中的优秀成果有哪些……
这些书拆解了开源界的明星项目,通过阅读,你能了解到开源作者们的思考方式,了解到各类困难问题的解决方案,学习使用现成的轮子。所谓见多识广,学习吸取经验,有望“站在巨人的肩膀上”。
但是,这几本书主要偏向于架构和工程方面,项目代码量基本是几千上万行,对于初级程序员来说不够实用,想要吃透,挑战性太大。
针对这个问题,该系列新出了一本《LinesorLess》,专注于行或更少代码的小型项目。