开发好的开源软件应该常温习的 15 个建议

737 阅读3分钟
原文链接: huziketang.com

本文作者:Himanshu Mishra
编译:胡子大哈

翻译原文:huziketang.com/blog/posts/…
英文连接:Lessons for creating good open source software

转载请注明出处,保留原文链接以及作者信息

我曾经看过一本书叫做 “The Cathedral and the Bazaar”,Eric S. Raymond 写的,讨论关于各种开源软件开发方法。维基百科上关于书的介绍比较少,这里整理出书中比较重要的观点,把这些点熟练地运用到自己的开源软件中会对你非常有帮助。

  1. 每一个好软件都应该从解决开发人员的切身之痛开始;
  2. 好的程序员知道如何写代码;伟大的程序员知道如何重写和复用代码;
  3. 如果你有一个好的姿态来学习,你会发现很多有意思的问题;
  4. 当你不想管一个程序的时候,你最后的职责就是把它交给一个称职的接手人;
  5. 把你的用户当做开发合作伙伴,是你提高开发速度和调试效率的最优途径;
  6. 尽早发布,经常发布,并且跟随用户的脚步(言下之意是小步迭代,用户优先);
  7. 采用敏捷开发和足量的 beta 测试,那么几乎所有的问题都可以很快得到解决;
  8. 好的数据结构和一般的代码,这种组合模式要比其他的组合模式更好。
  9. 如果你把你的测试伙伴当做你最有价值的资源,那么他们会用成为你最有价值的资源的方式来回馈你;
  10. 通常创新的解决方案来自于意识到你当前观念中的问题是错误的;
  11. 设计中的完美,不是你没有东西可以加,而是你没有东西可减;
  12. 通常的工具都是按预期的方法使用,而伟大的工具通常是以你意想不到的方式使用;
  13. 不论写任何类型的网关软件,都尽可能的不去影响数据流,同时不轻易丢掉任何信息,除非它的接收者告诉你这么做;
  14. 解决一个有趣的问题之前,首先你要找到能让你提起兴趣的问题
  15. 一个好的开发协调者要有好的沟通技巧,同时要知道如何避免强权领导,因为综合多方建议总比一言堂要好。

这些建议在很多人眼中都是“正确的废话”,可是正是这些“正确的废话”支撑着那么多优秀的开源软件不断涌现。也许在你开发的时候不会想这么多,也许在采坑了以后才恍然大悟。作为开发领域后来者的我们,吸取前人的教训,学习前人的经验总是没错的,历史总是惊人的相似

这 15 条建议,可以经常拿出来翻阅。值得你回顾和分享。