前一阵实在太忙,对于Django的关注也少了许多。不过现在慢慢开始恢复。这不就有一件事情吸引了我。事情的起因是这个样子的:
一位叫Tom Tobin的朋友在 django 的邮件列表发表了一个建议,说希望把模板功能做成独立的模块。其实这个提议老早就已经出现了,只不过没有象这次讨论得比较激烈。邮件线索可以访问这里。
对这件事的看法分为两派,很正常。一派以Malcolm Tredinnick 为首的,他们认为template因为是django的一部分,所以最好还是与django在一起,不应该被分离出去。他们不喜欢象turbogears那样的由多个模块组成的形式。他们不希望维护两个版本,而且目前的模板通过django.conf.config()还是可以方便地被独立程序使用。
而象Tom Tobin的想法还是比较简单,就是希望能够单独使用。其实我个人是倾向于简单的方式,所以独立出来也无不可。如果是我的项目,有人建议我独立出来,而且我认为功能的确相对独立或希望有更多的人使用,也可能会独立出来,哪怕是维护两个版本。
不过作为Django的核心成员Adrian Holovaty首先提了一些问题,象不希望维护两套版本等,并且他可能更关心如何让模板模块更好用,是否一定要分出来倒是不一定。后来他指出:是不是只要不需要再进行配置settings就足够了。我认为如果能做到这一点,我就已经满意了。
但对于Tom Tobin好象并不满意。他的确是希望是独立的模块,而不是django的一个子模块。特别是他后面说到自已的许多意见被shut down,他已经厌烦了争论,还是自已一个人走下去的话,让我深有同感!
从这里我们可出不同的哲学思想的冲击。对于完美派或保守派更多的是考虑整体,使用工作最简化。对于自由派或激进派更多的是关心方便性和扩展性。我个人的理解,django有些过于保守,当然这也是他的项目控制得比严格的地方,而且核心成员的思想非常鲜明,也算是一大特色了吧。
所以我现在更多的是象Tom Tobin一样,我做我的,你做你的,你的好我就用,不好我按我的方式来,可能也是因为哲学上还是有不少差异而不得已而为之。不过一个项目本来就无法让所有人满意,只有它可以扩展就行了。