许超前的博客 - A longker in the Earth

May 18, 2009

DAL2.0开发已近尾声,在这稍微说说情况

Filed under: Daily Life — 许超前 @ 1:04 am

DAL全称Data Access Layer,是一个由手机之家技术团队研发的中间件,原先我们做的只是一个数据库代理层程序,作用类似于MySQL Proxy,主要功能包括数据表拆分,以及缓存更新与清除的自动化、透明化等等。但现在,我们做得更多,走得也更远,可以在这篇BLOG中了解一些这方面的信息。

DAL2.0是DAL的下一代版本。DAL2.0的规划,其实从去年在三元桥时间国际7楼的小会室里就开始了,老高提出了初始想法,经过讨论以后,一拍即合,觉得应该抽出一个整块的时间来做这个事。

正式开发,从2月底3月初开始,原定计划是4月底5月初交上答卷,很遗憾,项目已经延期了。当然,非要找一些借口的话,也是有的:找人,组建团队,沟通,第二期BETA沙龙,QCON北京大会,又找人,会人。。。但其实,最主要还是因为:我没安排好任务,没管理好时间(是情商问题而非智商问题)。

虽然公司给予了我们团队很多的理解和支持,但我认为这是有问题的。因此,从5月4号(五一节后)开始,我做了一些调整:关掉Gtalk,不访问Twitter,不收Email,专心致志开始了2周的封闭式开发。成效是明显的,不少难题都是在这2周内解决的。有些朋友可能找不到我,在这说Sorry了。

接下来,我稍微说说技术的一些情况。

与DAL1.0比起来,DAL2.0的变化是非常大的:
DAL1.0-VS-DAL2.0

显然,这些变化不是一言两语就能说清楚的,其中有很多细节问题,在这不再赘述。
虽然,和DAL2.0比起来,DAL1.0显得单薄了些,但其实她是一个非常重要的里程碑,有很多想法通过她已经被证明是可行的。
DAL2.0的开发还在继续,还需要不断地努力、持续地投入。在运行之前,需要大量的测试:单元测试、集成测试,旁路测试等等。

总之,我们是对DAL2.0是非常有信心的,欢迎大家继续关注我们,并提出宝贵意见。

May 1, 2009

DAL开发杂记 - 复数变量命名约定

Filed under: Daily Life — 许超前 @ 12:40 am

昨天写了一个方法,然后用JUnit进行单元测试,愣是通不过去。检查了半天,发现是我误解了自己一个月以前取的一个变量名了。很郁闷,一个不友好的变量名浪费了那么多时间。

为此,我觉得有必要约定一下Java程序代码里变量的命名(其它语言同样适用,无非是大小写、下划线方面的区别),以免再发生类似的错误。对于语法级的命名约定(规范)可以看Java命名约定(规范),这里要说语义级的命名约定(规范),而且只涉及复数的情况。

以下是复数变量的命名模板(含推理过程):

一个学生的多本图书 a student’s books -> studentBooks
很多学生共有的多本图书 students’ books -> studentsBooks // 强调共同财产
每个学生的多本图书的集合 the list of each student’s books ->studentBooksList // 强调私有财产
学生图书的集合 student-book’s list ->studentBookList // 强调书的集合

套用该模板的几个示例:

primaryKeyColumnNames: List< String> [a, b]
trueUniqueKeyColumnNamesList: List< List< String>> [[c], [d]]
trueUniqueKeyColumnNameList: List< String> [c, d]
trueUniqueKeyColumnNames: List< String> [c]

uniqueKeyColumnNamesList: List< List< String>> [[a, b], [c], [d]]
uniqueKeyColumnNameList: List< String> [a, b, c, d]
uniqueKeyColumnNames: List< String> [a, b]

specColumnNameList: List< String> [a, b, c, d, f] f为scatter column name

columnNames: List< String> [a, b, c, d, f, g, e, h]

注:<后加了个空格,免得浏览器把它当作HTML标签的开始。

Powered by WordPress, 京ICP备09047672号