你有没有遇到过,突然老板或者老大跟你说,你根据项目或者根据功能写一份开发文档,当时很开心的答应了,后来想想,既然懵了。
开发文档是什么鬼?写了这么多年代码都没写过什么开发文档,最多也就只是产品的需求文档,说明文档,代码的注释与规范文档,或者说过苹果的开发文档,因为之前刚好写过一次很简单的,最近公司又开始要写上面开发文档了,而且发现确实很多同学都不会,我在想,我是不是该做点什么……。
App开发过程中的文档分为很多种,比如最常见的就是官方的开发文档,这种比较倾向代码和接口,但是你可能还见过或者听过其他文档。
比如,这里根据个人理解整理了几个。
是不是有点晕了,哪有这么多鬼,其实按照之前的习惯,我都是一份开发文档就够了,基本上包含上面的东西,只是看你怎么细分。
实际开发中如果真的遇到要写上面开发文档可以从下面几个角度写。
当然也不是说这些全部要写,可以根据项目或者功能适当编写。
下面大概一个个的说明一些每一个步骤是什么意思,需要怎么写,这里主要以iOS开发中App开发文档为规范,并使用苹果最新的语言Swift作为唯一语言。
主要指明开发在工具,开发平台,开发版本的支持。描述软件的运行环境,包括硬件平台、硬件要求、操作系统和版本,以及其他的软
件或与其共存的应用程序等。
主要根据产品给出的需求结合原型进行描述,并适当给出相应的图。
次软件或者功能编写的目的,对项目,对用户,对公司有什么好处。
此项目或功能编写之前市面上的情况,公司和用户的情况
项目或功能对应模块在位置,入口,和其他模块的关系
项目或功能对应类的说明,和开发中使用到的一些相关的术语的说明
网络资料,尤其是苹果的,也可以群里或者博客,文章等。公司内部的UI,原型,说明,网络接口资料
预计从上面开始到指定的时间节点完成任务或者完成对应的部分
其中考虑到或者可能会遇到什么技术或者实现难点
根据项目或者功能需求,在代码层面所使用的技术或者实现方案,或者比如说ios中布局方式的使用。
根据用户界面和入口说明交互与使用步骤并
每一个方法和属性对应的注释,一般是私有的话使用private但是也要注释,公开的都会使用标准的注释说明,苹果有自带的快捷键(command+option+/),之前有个插件叫VVDocument
网络请求对应的说明包括对应的参数,字段和返回值,也可以是数据模型层对应的模型属性和方法的说明
开发或者测试的过程中出现了什么比较重要的bug,不要什么bug都写上,然后说明解决的方案
到此完成之后,根据实际需求和个人能力,个人理解分析项目或者功能那些地方需要进行优化一下,打算怎么去优化他。
后期会继续完善(根据项目或功能整理一套完整的开发文档)…….
注:这里是按照功能,并不是按照整个项目分,如果要写整个项目的开发文档也可以再根据功能细分。