Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/fsharp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Documentation 编写技术规范的过程_Documentation - Fatal编程技术网

Documentation 编写技术规范的过程

Documentation 编写技术规范的过程,documentation,Documentation,我有点担心这可能是重复的,但我已经搜索了该网站,我能找到的每个问题似乎都更关注功能规范,而不是技术规范 我在寻找关于如何沟通应该如何做,而不是应该做什么的信息。我认为在最简单的层面上,我正在寻找最好的方法来帮助初级程序员解释实现功能规范的正确方法 关于文档的大多数答案似乎都假设,一旦给出了详细的需求列表,开发人员就会知道实现它的最佳方法,我倾向于发现情况往往并非如此。到目前为止,我找到的最好的资源似乎是Steve McConnell的10*软件开发,但我想知道是否还有其他人有一些有用的答案 我建

我有点担心这可能是重复的,但我已经搜索了该网站,我能找到的每个问题似乎都更关注功能规范,而不是技术规范

我在寻找关于如何沟通应该如何做,而不是应该做什么的信息。我认为在最简单的层面上,我正在寻找最好的方法来帮助初级程序员解释实现功能规范的正确方法


关于文档的大多数答案似乎都假设,一旦给出了详细的需求列表,开发人员就会知道实现它的最佳方法,我倾向于发现情况往往并非如此。到目前为止,我找到的最好的资源似乎是Steve McConnell的10*软件开发,但我想知道是否还有其他人有一些有用的答案

我建议阅读Joel的系列文章,从他甚至有一个到(现在是副驾驶)的链接开始,你可以下载并阅读这个链接,作为一个好规范的例子

不过有一点:您在帖子中同时提到了技术和功能规范。这是不同的

您正在谈论编码标准的问题,这似乎也是如此

就我个人而言,我喜欢纯技术设计文档的基于Wiki的方法。开发人员jsut不喜欢编写大型Word文档。Wiki允许你写东西、协作、插入类图或任何合适的东西

我发现了更多关于这方面的信息,比如Joel写的文章:

我的想法是你只是 不要写那种“技术规格” 涵盖 应用这就是问题所在 功能规格适用于。一旦你 完整的功能规范是唯一的 剩下要记录的是要点 内部架构和特定 (a)完全 不可见(盖下)和(b) 从功能上看不够明显 规格

因此,技术规格最终不是 现有的。在这个地方,你可以也可以 没有几篇关于 小话题:

记住,如果你在说什么的话 关于影响用户界面或 甚至你正在做的事情的行为 建筑,它进入功能区 规格。。。那么剩下的就是 技术规范是指 完全是为了 程序员,事实上,还有很多 这些东西在评论中可能是最好的, 所以,你最多应该有一把 关于以下主题的短文 算法——你写的 在需要时提供随需应变的文章 仔细考虑一个设计或文档 未来的“大局” 程序员,这样他们就不必 弄清楚你的代码想要做什么 完成

这比我更能生动地描述它。

两个想法:

我所知道的关于拟议实现的最有用的通信方式是使用类图和序列图


我认为,即使是初级开发人员也应该承担创建初始描述的责任。思考问题空间,然后接受对设计的批评,这将更快地发展他们的能力。

通过编码标准、代码审查以及可能的静态分析工具(如FxCop)来扩充功能规范,您将获得很多好处。代码可以基于合理的体系结构,但由于本地级别的错误样式,代码很难更改

有趣的是,我认为这个问题会得到几十个有争议的答案,相反,我们得到的建议是,编码标准将解决这个问题,或者让开发人员着手解决这个问题。从这个问题来看,我认为关键是我们谈论的是初级程序员,当你刚开始的时候,从功能规范到完成的代码有一个巨大的飞跃,我们都知道有不止一种方法可以做到这一点

我的方法是采用系统的特定部分,练习所有技术层——DB、UI、Web服务等等,并记录应该如何实现,可能使用类图,可能只是建议特定的库和方法。通过这种方式,您的技术规范不会太大,它补充并扩展了架构文档(如果您不需要太多doco,它可以是一个要点列表)


然后,团队可以完全实现系统的一个垂直部分,它有许多优点,您可以尽早构建和发布一个小部分,体系结构得到了验证,迭代0的内容(源代码控制、版本控制、构建)都得到了实践,这就是实现它的方法。

我认为这可以归结为某些设计基础:

  • 您可以创建需求列表或功能规范
  • 你会考虑所有可能的方法来解决这个问题
  • 你可以决定哪种方式最适合你,或者哪种方式能带来最好的结果
你所描述的表明,他们没有对赞成和反对者做出很好的(如果有的话)分析。归根结底,这取决于孩子们自己能够收集到正确的信息,然后做出正确的决定。这可能涉及询问更多高级程序员;-)


确定最佳方案的一些设计方法示例:


我想在这方面,详细说明和扩展评论部分的最佳方式是什么?编写一个功能规范并不是困难的部分,而是要确保年轻的开发人员从一开始就清楚地了解他们在技术上做什么。我认为关键是年轻的开发人员不能在没有监督的情况下工作。你让他们提出一个设计,进行设计审查,让他们编写代码,然后你进行代码审查。很抱歉,我花了这么长时间才接受你的答案,但是,和你一样,我期待/希望更多关于技术的答案