500 line or less 
《500 Lines or less》是开源程序架构系列的第四本,和系列中的其他书籍一样,所有的写作素材遵循创作许可共享协议,所有的代码遵循MIT许可,所有的收入都将捐给国际特赦组织。
使命
所有建筑专业的学生都会在求学期间学习居家建筑、公寓、学校以及其他类型的建筑的设计。同样的,每一个程序员也应该知道编译器如何编译指令,电子表格如何更新单元格,浏览器如何渲染页面,这本书的目标就是帮助读者从宏观的视角,理解程序设计中的思维方式。
这本书不会专注于算法细节、使用的语言等,而是重点讨论在开发程序中如何做出决策、在软件架构的时候做出何种妥协,比如:
- 为何将程序设计成这些模块,为何提供这些接口?
 - 这里为什么用继承或者是合成?
 - 这里为什么用多线程,那些为什么不用?
 - 什么时候程序应该依赖插件,插件应该如何被配置,如何载入?
 
方针
写作应该是有趣的,所以我们尽量精简流程,这里是习作流程的最小集。
- 当你开始编写的时候,尽量早些提交一个pull请求,这样我们可以尽早获得我们没有意识到的问题。
 - 第一次提交以后,你可以按照你的意愿继续提交。
 - 当你的第一稿完成的时候,在提交中注明,或者直接给我们发邮件,我们会为你的工作分配一两个核查者。