`

代码与文档同行

阅读更多

半年的测试过程,一直存在一件让我很不爽的事情。PDE提供的文档总是过时的,让我每次测试都得通过与PDE面对面沟通才完成,而且在一些问题上花费的时间很多。有时候在想,为什么文档总是跑在代码的后面。很久才发现,目前,代码与文档是分开,还有就是我们PDE(包括我)的习惯,总是喜欢先搞定代码,却总是忘记文档,或者把文档放在后面。这就造成我们定位错误,维护程序造成巨大的开支。那到底有没有方法让代码与文档同步呢?或者我们把习惯变一下,先写好文档,再写代码。我们PDE真的可以改一下习惯,我觉得这样的习惯真的好处多多,最近我也这样试过。只是不知道我的体会在别人那里是不是一样。先写文档的好处:

1、清楚业务流程,可优化流程,加深业务理解

2、代码思路清晰,加深对技术的理解,对做过的技术更牢固

3、更能写出好质量的代码

4、开发效率更高

说完个人习惯,再接着说代码与文档可不可以同步的呢?这才是我要讲的重点。我在网上找了一下,发现目前有人提出了动态文档这个概念。本人觉得动态文档如果真的可以实现,对我们PDE真的是一个好帮手,让我们轻轻松松完成代码的同时,也完成了文档,真的乐唉。

下面给出网络上对动态的文档分析和总结的过程。

程序与文档合一的概念提出
  怎样才是好的文档系统呢?应当具备以下属性:
  1. 能够准确地描述软件、并且简单易懂;
  2. 能够迅速错误定位、影响分析、修正设计;
  3. 能够提高软件维护质量;
  4. 能够方便程序修改时理解程序。


  为此提出了程序与文档合一的概念。这概念使软件成为真正意义上的软件:程序+文档,程序就是文档,文档集成在程序中。它要求在选择开发环境时不仅要考虑环境对设计、开发的完美支持,而且要考虑对维护、文档的支持;它要求软件人员在设计、开发过程中要考虑维护问题、文档问题;它要求程序与文档存储在同一位置、同一系统中;它要求使用相同工具进行程序与文档的书写、检索;它要求在编写和维护程序的同时形成文档,在书写文档时编写、维护程序。程序与文档合一的概念不仅存在于系统的设计、开发阶段而且存在于系统的维护阶段,它贯穿软件的生命周期。
  动态文档系统是建立在程序与文档合一的概念基础上的、文档与程序一致的、简单易懂的联机文档系统。它包括构件说明与数据描述、对构件与构件之间、构件与数据之间的关系进行的描述。动态文档系统是提高了文档的可用性、易用性和连贯性,使文档更加有效,是解决维护问题的有效途径。动态文档系统问题分析
  需要解决的问题是:软件文档的内容划分与获取、文档的存储与维护、文档的检索、软件文档的生成打印。

软件文档的内容划分成:语义文档、结构文档、过程文档
  语义文档是对软件的功能、概念、总体设计、流程、规约等用自然语言的描述,是软件人员根据规范在使用CASE工具编写并填入程序的文档,它也是为更全面的解释文档而灵活加入的额外信息。
  结构文档是在软件设计工具、开发环境中对象的属性、构件间接口、构件间引用关系、软件的结构等的描述。利用词法、语法分析程序对整个系统的对象、构件进行识别、分析,获取上述描述并形成表格文件。
  过程文档是对软件的设计、编码、维护过程中形成的过程描述和程序注释,如设计目的、设计人、时间等说明,利用开发环境对软件人员在设计、开发、维护过程中操作的记录形成操作跟踪。

程序与文档的统一存储与维护
  根据程序与文档合一的概念和文档从程序中提取的要求,文档必须存放在程序中,甚至文档固有的源代码中。结构如此的程序源代码的存储必须采用一种新技术—对象仓储(Repository)技术,而不能采用流式文件,这样才能使程序与文档既结合又分离。程序与文档结合在一个对象仓储中,结合在统一的开发环境中;结合在修改代码时可以同时修改文档、修改文档时可以同时人工检查和修改程序,并在多次文档生成而不会丢失手工输入的文档。程序与文档应当分别存放在对象仓储中的不同表或不同的字段中,在编译与运行时分离。

文档的检索

对单个对象、构件文档的检索方式是若于文档存放在一个对象仓储中,它可以随源代码一起检索和维护。这种检索给分析和维护单个构件、对象提供文档支持。建立多种视图、编写程序对整个系统进行文档的检索和获取,完成对整个系统的分析,对整个系统进行实时文档支持。这将在例子中较详细的描述。

软件文档的生成打印


  编写程序检索和获取整个系统的文档,按照国家软件标准的文档式样建立文档模板并将按模板生成文档和利用文字处理软件强大的功能进行创建、编辑文档并打印。


  根据上述分析,文档分布和获取对开发环境提出了要求:开发环境应该是设计工具、开发工具的集成,应该基于CASE技术、对象仓储技术、构件技术、OLE技术。基于CASE技术的开发环境;设计、开发、维护过程中形成的文档并植入程序代码中,使文档成为程序的一部分。基于对象仓储技术的开发环境,将文档与程序统一存储在对象仓储中方便检索。基于构件技术的开发环境,便于识别、获取构件,分析、形成结构文档和过程文档。基于OLE等技术使文档可以很好地利用Word等文档处理软件。

 

 

<!--EndFragment-->

2
1
分享到:
评论

相关推荐

    同行评审-代码审查参考文档.doc

    代码审查是确保软件质量的关键步骤,它涉及到对代码的详细检查,以找出并修正设计、实现和编程风格等方面的问题。本文主要围绕Java代码的几个重要方面进行讨论,提供代码审查时应注意的要点。 首先,关于对象和变量...

    华为代码规范文档.doc

    《华为代码规范文档》是华为公司为提升软件开发质量与可维护性而制定的一套详细的编程准则。这份文档旨在确保代码的清晰性、一致性、可读性和可维护性,从而提高团队协作效率,减少错误,并降低未来维护成本。以下是...

    软件著作权代码文档写作经验

    ### 软件著作权代码文档写作经验详述 #### 一、引言 在软件著作权申报过程中,提交一份规范的代码文档是非常关键的步骤之一。本文将详细介绍如何编写符合要求的60页软件代码文档的经验,帮助申报人员顺利完成任务...

    工程&代码规约-阿里巴巴

    《工程&代码规约-阿里巴巴》是一份详细阐述阿里巴巴内部编程规范和工程实践的重要文档,旨在提高代码质量、增强程序的健壮性以及提升开发效率。这份规约不仅关注编程格式,更注重基本的代码处理行为、异常处理策略...

    java文档模板很全面的模板

    3. **类与接口文档**:Java中的Javadoc是一种用于生成API文档的工具,模板会包含如何编写清晰、规范的Javadoc注释,以供其他开发者理解和使用你的代码。 4. **详细设计**:这部分模板可能包含用例图、序列图、状态...

    代码审查表和代码审查实例

    代码审查是一种同行评审方法,其中一个或多个开发者检查另一位开发者编写的代码,以找出可能的错误、不足或改进之处。通过这个过程,团队成员可以共享知识,提升整体编程技能,并促进团队合作。 接下来,我们关注...

    项目开发文档全套模板

    13. **代码审查记录**:通过同行评审来提高代码质量,发现潜在问题和改进点。 14. **用户验收测试报告**:在项目交付前,用户对产品进行测试,确认是否满足合同规定的要求。 这些模板不仅适用于大型企业级项目,也...

    anj文档代码

    通过同行评审,可以发现潜在问题,学习新技巧,并保持代码风格的一致性。 五、持续集成/持续部署(CI/CD) CI/CD流程可以帮助自动化构建、测试和部署,确保代码更改能够快速且可靠地反映到生产环境中。 六、性能优化...

    软件文档管理指南,软件文档管理指南

    - **审查**:通过同行评审或专门的文档审查会议,确保文档质量并及时发现错误。 - **版本控制**:使用版本控制系统(如Git)跟踪文档变更,方便回溯和对比。 - **发布**:文档更新后应及时发布,确保所有相关人员...

    编写优化、高效、无错地代码

    清晰的代码结构、合理的命名规范、充足的注释和文档能够帮助团队成员更快地理解代码逻辑,减少后期维护的工作量。遵循一定的设计模式,如单例模式、工厂模式或观察者模式,可以使代码更加模块化,便于扩展和重用。 ...

    java开发文档规范

    - 代码审查:对代码进行同行评审,检查错误、改进设计并提高代码质量。 - 功能评审:确认代码是否符合需求规格书,确保所有功能都已实现且无误。 - 性能评审:评估系统的性能和稳定性,确保满足预期的负载和响应...

    国内大软件公司文档

    9. **代码审查记录**:在代码提交前进行同行评审,提升代码质量和团队成员之间的知识分享。 10. **配置管理文档**:记录版本控制信息,如版本号、修订历史等,便于版本管理和回溯。 以上知识体系涵盖了软件开发的...

    软件文档写作实训课程设计(参考资料)

    8. **代码审查文档**:代码审查流程和检查清单有助于提升代码质量,通过同行评审找出潜在的错误和改进点。 9. **培训材料**:为新入职员工或团队成员准备的教程,介绍项目背景、技术栈和工作流程。 10. **合规性...

    同行评审--检验手册

    同行评审,又称同行审查或伙伴审查,是软件开发过程中的一个环节,旨在通过团队成员间的互相检查来发现并修复错误,提高代码质量和软件可靠性。 在软件测试的范畴里,同行评审扮演着至关重要的角色。它不仅仅是一种...

    关于PEP 8代码规范的内部开发文档.docx

    1. **单行注释**:以 `#` 开头,紧跟在代码后面,不与代码同行。注释应简明扼要,解释代码的目的或行为。 2. **多行注释**:使用三对引号 `'''` 或 `"""` 创建多行文档字符串,通常用于函数、类或模块的开头,提供...

    软件开发文档模板,指导开发文档的编写

    12. **代码审查记录**:对代码进行同行评审的结果,确保代码质量并促进团队学习。 以上模板应遵循GB规范,保证文档的标准化和专业性,便于不同角色的人员理解和使用。通过使用这些模板,可以提高软件开发的效率,...

    一套CMMI4软件开发过程和管理文档模版

    其次,服务与维护(第16章)文档关注的是软件上线后的支持和更新。这部分涵盖了问题追踪、版本控制、维护计划和客户反馈处理等内容,以确保软件能够持续适应用户需求和环境变化。 项目规划(第05章)是软件开发的...

Global site tag (gtag.js) - Google Analytics