Dominoo项目日记(三)
上周的主要工作是和toidi_xu共同完成“把xml文件解析到java内存对象”的工作,但是一周下来发现我们的工作完成的并不好。
这周的前3天我一直在学习effective java,由于有java基础所以看起来也不是很费劲,自己也写了些小例子,之后由于周末要讨论tdd和junit所以我又花了近一天的时间来熟悉相关的资料。真正开始进入开发阶段是在周五的时候,我研究了一下dreamhead已经写的dominoo代码,初步制定了我的工作计划:
- 制定xml描述文件
- 编写相关entity class
- 编写digester parse rules
突然想起昨天看到江西台的一个人物节目,主人公是刚刚获得“中国十大杰出青年”奖章的602所(中国直升机研究所)的总设计师,当记者问到“你觉得你这些年付出这么多值么”,令我惊讶的是这位总师的回答竟然是“我没有付出亚,谁说我付出很多了”,他进一步解释道“我的工作已经是我工作的一部分了,工作给我带来无穷无尽的生活乐趣,所以我不觉得我付出,我是在实实在在的享受着生活的乐趣”。想想我今天的工作,这位总师的心声也恰恰是我们程序员的心声,编码会给我们带来无穷无尽的乐趣,编码已经成为我们生活的一部分。跑题了^_^
Toidi_xu上周并未介入到代码实现中,这也是我们进度缓慢的一个原因。说一说我在开发过程中遇到的问题吧。
- 我们软件的内部处理流程是“model”—[1]—> ”xml文件”—[2]—->“java内存模型”,在model和java内存模型中都存在着对entity(如class , package , interface等)的描述,我们需不需要作得通用一些,这样复用一个entity包即可。
- 对nested class和nested interface的描述一直困扰着我
- 还有如何描述和处理enum的问题
- 如何描述field在类内部的initializer问题
- 普通method和constructor如何区分描述的问题
- 最大的困惑就是如何对泛型entity进行描述,如模板类,不光是类本身,该模板类的method也涉及到参数类型为类的参数的问题,如下面代码:
public class Box {
protected List contents;
public Box( ) {
contents = new ArrayList( );
}
public void add(T o) {
contents.add(o);
}
public T grab( ) {
if (!isEmpty( )) {
return contents.remove(0);
} else
return null;
}
}
如何保持对class描述和method描述的一致性问题和处理的一致性问题? 这些问题都要这周我们共同讨论来解决,我打算先拿出个解决方案。
评论