程序员写作模版献给懵逼的你
专业写作码农配图
嗯,不错
意义或者目的
描述写作文章或者梳理总结的出发点。比如,本文章的目的在于给一个写作的模版供后面技术写作一个思路指导。
1. 索引目录
用于放在文档首页,呈现全部文档的结构,方便搜索查找的标题、链接等。可采用目录结构,也可以采用单纯的列表样式,例如下面的表格。长文章用到,短文章可以不需要。
写作指南收集
文章说明
知乎问答
作业部落的写作指引
掘金的技术写作指南,有范文
2. 项目/组件/业务功能介绍
一段话精简地介绍项目做什么、项目与同类项目比较的突出亮点、项目当前具备的能力。若是组件,介绍其主要完成功能及完成的效果。若是业务性的功能需求,列出需求单,开发负责人,界面效果。
2.1 需求单(业务功能需要)
需求单
说明
客户端需求链接
客户端需求描述
2.2 主要开发人员(业务功能需要)
张三、李四、阿猫和阿狗
2.3 UI 显示效果
例如:Flutter高仿网易云音乐,排行榜和评论界面
UI 界面效果展示
3. 快速接入使用(项目/组件)
主要针对项目或者组件的如何快速的使用,提供用户项目使用简单快捷操作指引,能够以最短时间运行或者使用,包含下面几个方面:
安装环境要求及说明;
安装或者编译方法,若为子工程如何添加到项目,有什么依赖关系;
API 的详细介绍;
引入图文或者视频进行展示,有 demo 会更加友好;
可能还需要一个常见问题说明;
例如:facebook.github.io/rebound/
4. 方案整体结构或者类关系
描述项目或者组件的整体的层次关系,并描述每个层次的作用及每个层次之间的关系。对于业务功能画出其类图或者基本的分层关系图,并描述每类的作用。
举个例子:微信Android架构历史
出自:微信 Android 架构历史
5. 方案选型对比或者实现思路、关键路径
5.1 对于项目或者组件来说,重点说明在实现的时候方案的选择,包括如下几个方面:
对比方案的实现方法;
对比每个实现方案的优缺点;
举个例子:爱奇艺组件化方案开源 Andromeda
其中对比了业界几个方案如下(这里不是很全,这里有个小哥总结的很全)
另外一种方式:以问题导向的思路的方式行文 :组件化方案调研(IOS)
问题-->组件方案-->改进-->新问题-->持续改进-->实现
5.2 对于业务功能来说,重点说明代码实现的关键路径以及每个类的作用:
比如上面网易云音乐的排行榜界面:举个例子
再举个例子:如果你要分析源码类似的,可以用如下的结构:Android 基于 Choreographer 的渲染机制详解
源码分析行文思路
6. 性能对比测试(组件和项目)
对你对方案或者组件有价值或者说服力,需要有性能的对比说明。
举个例子:WCDB的性能数据与Benchmark(IOS)Android Benchmark
如下图,截取了部分对比效果,这里针对不通平台的不通方案之间分别做了性能测试,数据在同一标准下比较有说服力。
读操作性能测试:该测试为从数据库中取出所有数据,并拼装为 object。
WCDB 性能对比
Nexus 5X Android 7.1.2 (arm64-v8a)
7. 协议或者第三方依赖说明
采用了哪些协议,第三方依赖怎么加入的,一些扩展方案,比如热重载、插件化如何实现的。
8. 常见的问题及坑
对于项目、组件、业务代码来说,总会有各种遗留问题点,或者需要特殊注意的地方。这里可以做详细说明,做一个类似 Q&A 的地方。
例如:Android动态模糊实现的研究中的注意事项
8.1 OpenGL ES Context 在多线程环境下的管理
OpenGL 在多线程环境下工作需要额外的处理,为了正常工作需要遵守两条规则:
一个线程只能有一个渲染上下文(Render context)
一个 context 只能绑定一个线程
因此在多线程环境下的实现 context 共享的处理方式如下:
将 context 与线程 1 绑定:
eglMakeCurrent(display, surface, surface, context);
在线程 1 执行 OpenGL 操作…
将 context 与线程 1 解绑:
eglMakeCurrent(display, EGL_NO_SURFACE, EGL_NO_SURFACE, EGL_NO_CONTEXT);
将 context 与线程 2 绑定:
eglMakeCurrent(display, surface, surface, context);
在线程 2 执行 OpenGL 操作…
9. 引用文章及说明
引用了哪些其他的文章一一列举。
这里推荐一些写的比较出色的文章:
推荐文章
描述
方案型文章代表。有条理、思路清晰; 从背景知识点到方案实现再到性能分析
Android 基于 Choreographer 的渲染机制详解
源码总结分析类型文章代表 原理讲解到代码分析,图文详细
版权声明: 本文为 InfoQ 作者【jerry】的原创文章。
原文链接:【http://xie.infoq.cn/article/1eb684c8b45141c18c2c04f5a】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论