Freewind @ Thoughtworks scala java javascript dart 工具 编程实践 月结 math python english [comments admin] [feed]

(2011-11-15) 公司基础架构培训有感

广告: 云梯:翻墙vpn (省10元) 土行孙:科研用户翻墙http proxy (有优惠)

今天下午,公司组织了培训,讲解最近开发出来的一套基础系统的功能,我学到不少,有些感触。

我们部门是做学校的各种管理系统,有些功能每个系统都需要。而这套基础系统,就是为它们提供一个通用的基础功能,比如学生、老师、院系等基础信息表的定义,权限角色功能,通过配置生成数据表的增删改查功能,自定义菜单,自定义表单,以及自定义报表。


在演示过程中,看到通过一些简单的配置,就可以完成一些看起来比较复杂的功能(特别是数据表增删改查、自定义表单、报表),开发效率真的很高,让我有种惊叹的感觉。功能方面考虑得很细致,提供了相当多的选项供配置,比较灵活。在易用性方面也做得不错,简单讲解就能知道怎么用了。另外,通过添加菜单的方式,也可很容易的将新系统嵌入到这套系统中,浑然一体,这种方式值得肯定。

我之前没有做过像这样通用性比较强的产品,因为自己做的那些小东西,每个都不一样,除了用户注册登录,没什么能通用的。今天看了这套系统,感觉像这种做信息管理系统的公司,的确应该开发出一套类似的通用基础系统。开发新产品时,以插件方式利用这些功能,可大大节省开发时间。

这种做法,是以性能换方便。在配置过程中,可以看到很多功能,都要外联到很多数据表,可能一个操作要查询十来次数据库,在性能上不会很好。如果以最优化的方式来写,可能一两次查询就能完成,但没法通用。这种做法,对于基础系统来说,却是非常合适的,因为它都是一些后台操作,可能就管理员偶尔上来维护一下,多个几十次查询,也不会对系统造成什么影响,而带来的通用性和可定制性,非常方便,值得。

唯一有些不满意的地方是,之前看过代码,里面不少地方比较乱。似乎每个人都各写各的,互不干涉,也互不要求,只要能跑起来就行。格式化没做,大量未使用的导入,注释也很乱,很多代码都可优化,单元测试也没有。所以这套基础系统,看起来不错,但感觉很脆弱,今天演示时多次出现的500错误就在提醒这一点。虽然看着不错,但是用起来,还是会感觉挺担心的。

comments powered by Disqus