jjj提出的文档规范(转自jjj)

对于文档的设计,我觉得必须有一个普遍的规范,并且这个规范必须可以对项目的开发起到好的效果!

所以我认为(个人观点,仅限于开发部分的文档,至于需求部分大家可以共同讨论)

1.数据库的设计(或者说PO持久化层的设计),必须有一个明确的文档,这个文档中描述了各个表之间的关系

。每个属性对其他表中的数据是怎样影响的,对应关系是什么样的。比如说:一个属性对应另外一个表,并且

是一对多关系,我们就可以明显的看出通过这个属性获得的是一个List;如果是一对一关系,就可以知道,他们

共用一个ID,通过这个实体就可以获得另外一个实体(DAO.load("***Id));如果是多对一关系,我们就要考虑

在编写EJB的时候是否需要通过懒加载(Lazy

)的方法获得这个po。

2.Action和ActonForm的文档

 

必须重视他们,虽然他们有时看来很简单,如果可以有一个详尽的文档,对开发action来说很有帮助。

  我举个我们写的文档 的例子吧:

  2.1概述

     在**详细信息页面(**Detail.jsp)上的保存按钮所调用的Action。

    2.2数据session传输方式

   从session获取数据列表:

   获取名称   参数类型    参数说明

    **Form    **Form **Form

    2.3 属性

无。

     4.4 数据request传输方式

     从request获取数据列表:

     获取名称 参数类型 参数说明

      在request存入数据列表:

      存入名称   参数类型 参数说明

     4.5调用ejb的接口描述

      接口名称:ejb.**.**. **

      方法名称:public void save**(PO  po,List  **,List        **)throws

DataOperationException,RemoteException

        方法说明:保存**单和**电路;

      返回值:void

     4.6 异常处理

      异常:DataOperationException

      错误号:处理异常时与输出信息相对应的错误编号

      说明:数据操作异常

      跳转路径:error(所有的出错信息都跳转到这个页面)

     4.7 功能描述

     

**详细信息页面(**Detail.jsp)上的保存按钮所调用的Action,将修改后的受理单保存。

     4.8 逻辑实现

      1.获取**Form;

     

2.从**Form中提取出**单po信息,和需要删除的电路列表deleteList和要保存的列表saveList;

      3.调用ejb方法public void save**(PO  po,List  save**List,List 

**List)throws

DataOperationException,RemoteException,来保存受理单、接入电路;

       4.如果保存成功则删除**Form;

      5.如果成功,则forward=success, page=**Success.jsp;

      6.否则,转向错误页面**Error.jsp

One thought on “jjj提出的文档规范(转自jjj)”

  1.   学习日记的Action和ActionForm的文档可以参照这个规范详细说明这个Action的作用,接受和输出的在application,session,request等各种作用域中的参数的情况,并把这个Action中的逻辑实现用自然语言(是伪代码吗?)描述出来。

      这种文档应该放在每个Action类的类的说明中,还是放在Action类的excute()方法前呢?

      想起来还是放在excute()方法前,因为,这些参数的传递和处理都在excute()方法中进行的。

      实施阶段的、与代码有密切联系的文档应全部放在javadoc式的文档中,这样,便于维护和使用。

      java程序主要是由类构成,而类的三个元素均可以用javadoc注释,如thinking in java中学到的:

      There are three “types” of comment documentation, which correspond to the element the comment precedes: class, variable, or method. That is, a class comment appears right before the definition of a class; a variable comment appears right in front of the definition of a variable, and a method comment appears right in front of the definition of a method. As a simple example: Feedback

    /** A class comment */

    public class DocTest {

      /** A variable comment */

      public int i;

      /** A method comment */

      public void f() {}

    }

Comments are closed.