谈谈 软件 开源项目

开源项目  要 发展壮大,  卓有成效,    要做好 模块化 工作    。

 

就是   作者 要 把 代码 写成 、整理成 模块 的 形式,  提供出 简洁 清晰 易用 的 接口,   让 别人 容易 的 使用 。

 

项目 的 架构 要 清晰,   内核模块 和 扩展模块 要 清晰 ,  模块 的 功能 要 清晰 突出   。

 

总之就是 要 清晰 、突出,  让 别人 可以 容易 的 拿去 使用   。

 

这样,  别人就可以容易的 使用 你的 模块 去 创造搭建 新 的 模块,   别人的别人 又 可以 容易的 使用 你们 的 模块 去 创造搭建 新 的 模块   ……

 

如此,  开源项目 就能 生生不息, 发展壮大     。

 

说白了,   开源项目  不是 要让 别人 来 读 你的 代码,  而是 要让 别人 来 用 你的 代码    。

 

读自己的 代码 都很烦,  更何况 读 别人 的 代码 ?          读代码 的 目的 是 学习 。

 

但是 开源项目 要发展,  仅仅把 代码 摆 在 那里 让 别人 来 读 是  远远不够 的  。   需要做好  模块复用 和 模块替换 的 工作 。 

 

模块替换 就是 未来 有新的 ,  更好 的 模块 来 完成 这个工作,  就可以 用 新的模块 来 替换 旧的模块,     这样,  开源项目 就能 生生不息, 发展壮大     。

 

如果 把 代码 摆在 哪里 就能 让 项目 发展壮大,  卓有成效,   那 你们 可以去 把   PostgreSql  或者 MySql 的 代码 拿来 发展 发展 啊,   等你把 PostgreSql 的 代码 读完,  你也 差不多 50 岁 了  。

 

PostgreSql  是 加州大学 历代师生 积累的 结果 。     另外, 很多 开源项目 都是 有 商业支持 的 。   比如  Mono,    Mono是一个由Xamarin公司(先前是Novell,最早为Ximian)所主持的自由开放源代码项目。   见 百度百科   “Mono”   。

 

所以,   一个 开源项目 如果没有 商业支持,  又要想 发展壮大, 卓有成效,  就要做好 模块化 工作 。

 

最后,   我还是 再 重复一遍   Unix 的 一条 编程原则 :        编写一些简单的模块,  把它们连接起来 。

猜你喜欢

转载自www.cnblogs.com/KSongKing/p/12152882.html