liulina221/OpenSource-13-06 — pull request #1 by liulina221 (2013-06-21 11:00:18+00:00)
Title: Create GY3刘丽娜作业

读完《大教堂与集市》，虽然文章重点介绍的是开源软件的好处，由于自己没有真实地参与过开源项目开发，所以不能切实地感受作者在写这篇文章时的心境。对于我来说，我更倾向于让自己从软件工程的角度来阅读这篇文章。
这篇文章零零散散地介绍了软件开发的整个流程中一些相对比较重要的理念，首先是开发一个软件我们想要达到一个什么样的目的，“每一个好的软件的起因都是挠到了开发者本人的痒处”，“要解决一个有意思的问题，首先找到一个你觉得有意思的问题”，当然也有软件是为了实现客户的目标。总之，软件要解决的问题一定要选对、明确。其次，软件的目的确定以后就要开始设计软件的架构，“聪明的数据结构和愚蠢的代码要比反过来好的多”，架构设计很重要。最后就是软件功能的开发、测试、再开发这样的循环迭代了。“早发布。常发布。听取用户的意见”，“如果Beta测试者和合作开发者的群体足够大的话，几乎每个问题都会快速显形，会有人轻而易举地把它解决” 或者通俗一点，“只要眼球足够多，所有臭虫都好捉”，“把用户像合作者来对待是通往快速改进代码和有效调试的最佳通道”，我们应该仔细阅读、理解并尝试把这些理念应用在我们实际地开发中。“好的程序员知道写什么。伟大的程序员知道改写（和重复利用）什么”，告诉我们应该尽可能地利用已有的功能而不要重复开发。“当你对一个项目失去兴趣时，你的最后的职责是把它交给一个称职的继承者”讲的是开源的软件，那在实际工作中，我们可以理解为我们需要为我们做的项目负责，不管处于项目的任何位置，都应该认真负责。