为什么开发者热衷在Stack Overflow上查阅API文档?
摘要:一项新研究跟踪了Android开发者的访问历史,发现开发者多达二分之一的文档是从Stack Overflow上获取到的,而Stack Overflow上的示例也多于官方指南,开发者通过搜索更多时候是去访问Stack Overflow上的问题讨论而不是访问官方文档。那么,为什么开发者热衷在Stack Overflow上查看API文档呢?
微软等软件公司为API、服务和软件平台等主题创建数以百万计的文档,创建软件文档费时费力,然而却越来越不讨好,因为软件开发者对这些枯燥的文字日益失去兴趣。如果遇到问题,他们更多时间是到Stack Overflow等开发者问答社区去询问。那么,为什么开发者喜欢在Stack Overflow上查看API文档呢?以及 为何Stack Overflow能如此受青睐呢?且看本文分析。
企业、开发者的思想转变
企业也注意到了这一趋势,如YouTube API就将开发者支持论坛从Google Groups转移到Stack Overflow,他们的API文档是由数千个问题组成。Android开发者也是如此,他们更多是到 Stack Overflow讨论API相关问题,而不是访问 developer.android.com开发者官方网站阅读官方文档。
开发者开始间接地记录API,这一过程我们称之为“群众文档”(crowd documentation),他们在博客中推API的相关文章以及提出有关API的问答机制。我们发现未经任何协调,在Stack Overflow上讨论API类的Android开发者竟高达88%。
一项新研究跟踪了Android开发者的访问历史,发现开发者多达二分之一的文档是从Stack Overflow上获取到的,而Stack Overflow上的示例也多于官方指南,开发者通过搜索更多时候是去访问Stack Overflow上的问题讨论而不是访问官方文档。
为了做调查我们收集了Android开发者1316天的历史记录(平均每位开发者有11周),发现有9234位访问 StackOverflow,2547位访问 developer.android.com并下载了Android开发文档。此外,我们还分析了代码示例使用率,这些数据均是通过Stack Overflow和developer.android.com开发指南的访问数据而得出。
在这项调查中,我们发现:
- 开发者从Stack Overflow上获取文档比例高达50%;
- 从Stack Overflow上下载示例要比官方文档指南要多;
- 通过Web搜索,发现Stack Overflow上的问题访问比官方文档高达 2x-10x。
此外,我们还发现一些有趣的Web浏览模式:
- 开发者直接浏览官方文档呈现间歇式的爆炸模式;
- 部分开发者以“学徒”的方式通过每位Stack Overflow用户学习API;
- 开发者在开发过程中通过搜索连续引用Stack Overflow问题。
为什么开发人员喜欢在Stack Overflow查阅文档?
我们分析了开发人员通常多久访问一次Stack Overflow上Android的开发问题以及官方Android 文档的访问频率。
如图所示:
在同一天中三位不同的开发者(A,E,Q) 呈现出不同的访问模式。
我们随机采访了选择使用Android官方文档的开发者,他们认为:
C:对Android的所有版本保持更新。很多示例与我们所需要的无关(要么太复杂,要么不够详细!)。
D:官方文档最重要的一点是缺乏边缘案例和错误文档。
J:官方文档中没有足够多的示例。
代码示例:
- Android官方文档指南只有36%的API类文档说明(引用API类的一段文字),而Stack Overflow则高达88%;
- Stack Overflow上的代码示例是官方文档的两倍:官方Android文档指南只有26%的API类代码示例,而Stack Overflow有56%;
- 为整个Android官方文档指南贡献代码的权威人士总数为1,711人 ,而Stack Overflow上的编码贡献者有156,747人。
文档使用模式
开发流程图
大多数开发者通过搜索访问Stack Overflow,另外一些开发者直接访问官方文档。两位开发人员:A和B,他们通过Stack Overflow不断“监控”Android开发的最新问题。
学徒与专家
起初,我也曾在developer.android.com中进行查询相关问题,但在我看来,对于一位新手通过搜索开发者文档来进行Android开发将是一项艰巨的任务。因此,我选择查看Stack Overflow上一些知名专家的文章,这也是学习Android最简单的方法。当你拥有Android方面的基础知识时,开发文档对你非常有用。
有趣的是,Stack Overflow上出现了同样的思想认知:
大部分Stack Overflow的贡献者非常乐意回答你的问题。
原文出自: ninlabs
(编译/夏梦竹 审校/王然)
话题补充: 为什么Stack Overflow会如此成功?
Stack Overflow做了一个很窄的问答社区,他的成功在于定位精准以及针对用户的产品设计。
CSDN和程序员杂志 创始人蒋涛认为:Stack Overflow在产品设计上的特色值得学习
1)更轻的参与,更快的反馈系统
原来的问答制模式,包括CSDN BBS需要用户回答问题才得分。 参与方式比较重, 而现在Stack Overflow的投票机制对问题表示赞同(提问的人也能得到积分),对回答表示赞同或反对,很容易参与。提问题和回答问题的人也容易得到满足。
2)更严格的管理,更开放的参与
Stack Overflow对问题内容质量控制很严,而且设计的是全员参与管理模式,只要你又足够的Reputation,就可以管理,比原来的斑竹管理模式更合理有效。
开发者 王诗沐:Stack Overflow的tag设计是集各家之大成
1. tag贯穿整个产品。不仅只是帮助用户搜索信息,Stack Overflow很早就允许用户订阅tag,设置自己喜欢和不喜欢的tag;后来又开发了tag的badges,很好地和reputation联系在了一起。再后来用tag来做广告。可以说Stack Overflow的tag设计是集各家之大成,在里面可以看到delicious、twitter等的优点,而且还自己创新了tag的badges。
2. 早期非常focus在基本需求。最早的Stack Overflow的界面比现在更朴素,资源全集中在问题与答案、用户投票和声望设计上,础搭的十分牢固。
3. 放长线,钓大鱼。Stack Overflow现在最大的特点就是单纯,很多推广时期依靠的功能(badges、reputation等),实际上都是基础功能延伸而来的,这个很多产品都没做到,国内尤其多。比如腾讯微博的badges,怎么看怎么生硬。这实际上体现了Stack Overflow在产品节奏和规划上的高明,各个复杂的功能和系统,其实都是从主干上延伸开来,而非再生主干。摘要:一项新研究跟踪了Android开发者的访问历史,发现开发者多达二分之一的文档是从Stack Overflow上获取到的,而Stack Overflow上的示例也多于官方指南,开发者通过搜索更多时候是去访问Stack Overflow上的问题讨论而不是访问官方文档。那么,为什么开发者热衷在Stack Overflow上查看API文档呢?
微软等软件公司为API、服务和软件平台等主题创建数以百万计的文档,创建软件文档费时费力,然而却越来越不讨好,因为软件开发者对这些枯燥的文字日益失去兴趣。如果遇到问题,他们更多时间是到Stack Overflow等开发者问答社区去询问。那么,为什么开发者喜欢在Stack Overflow上查看API文档呢?以及 为何Stack Overflow能如此受青睐呢?且看本文分析。
企业、开发者的思想转变
企业也注意到了这一趋势,如YouTube API就将开发者支持论坛从Google Groups转移到Stack Overflow,他们的API文档是由数千个问题组成。Android开发者也是如此,他们更多是到 Stack Overflow讨论API相关问题,而不是访问 developer.android.com开发者官方网站阅读官方文档。
开发者开始间接地记录API,这一过程我们称之为“群众文档”(crowd documentation),他们在博客中推API的相关文章以及提出有关API的问答机制。我们发现未经任何协调,在Stack Overflow上讨论API类的Android开发者竟高达88%。
一项新研究跟踪了Android开发者的访问历史,发现开发者多达二分之一的文档是从Stack Overflow上获取到的,而Stack Overflow上的示例也多于官方指南,开发者通过搜索更多时候是去访问Stack Overflow上的问题讨论而不是访问官方文档。
为了做调查我们收集了Android开发者1316天的历史记录(平均每位开发者有11周),发现有9234位访问 StackOverflow,2547位访问 developer.android.com并下载了Android开发文档。此外,我们还分析了代码示例使用率,这些数据均是通过Stack Overflow和developer.android.com开发指南的访问数据而得出。
在这项调查中,我们发现:
- 开发者从Stack Overflow上获取文档比例高达50%;
- 从Stack Overflow上下载示例要比官方文档指南要多;
- 通过Web搜索,发现Stack Overflow上的问题访问比官方文档高达 2x-10x。
此外,我们还发现一些有趣的Web浏览模式:
- 开发者直接浏览官方文档呈现间歇式的爆炸模式;
- 部分开发者以“学徒”的方式通过每位Stack Overflow用户学习API;
- 开发者在开发过程中通过搜索连续引用Stack Overflow问题。
为什么开发人员喜欢在Stack Overflow查阅文档?
我们分析了开发人员通常多久访问一次Stack Overflow上Android的开发问题以及官方Android 文档的访问频率。
如图所示:
在同一天中三位不同的开发者(A,E,Q) 呈现出不同的访问模式。
我们随机采访了选择使用Android官方文档的开发者,他们认为:
C:对Android的所有版本保持更新。很多示例与我们所需要的无关(要么太复杂,要么不够详细!)。
D:官方文档最重要的一点是缺乏边缘案例和错误文档。
J:官方文档中没有足够多的示例。
代码示例:
- Android官方文档指南只有36%的API类文档说明(引用API类的一段文字),而Stack Overflow则高达88%;
- Stack Overflow上的代码示例是官方文档的两倍:官方Android文档指南只有26%的API类代码示例,而Stack Overflow有56%;
- 为整个Android官方文档指南贡献代码的权威人士总数为1,711人 ,而Stack Overflow上的编码贡献者有156,747人。
文档使用模式
开发流程图
大多数开发者通过搜索访问Stack Overflow,另外一些开发者直接访问官方文档。两位开发人员:A和B,他们通过Stack Overflow不断“监控”Android开发的最新问题。
学徒与专家
起初,我也曾在developer.android.com中进行查询相关问题,但在我看来,对于一位新手通过搜索开发者文档来进行Android开发将是一项艰巨的任务。因此,我选择查看Stack Overflow上一些知名专家的文章,这也是学习Android最简单的方法。当你拥有Android方面的基础知识时,开发文档对你非常有用。
有趣的是,Stack Overflow上出现了同样的思想认知:
大部分Stack Overflow的贡献者非常乐意回答你的问题。
原文出自: ninlabs
(编译/夏梦竹 审校/王然)
话题补充: 为什么Stack Overflow会如此成功?
Stack Overflow做了一个很窄的问答社区,他的成功在于定位精准以及针对用户的产品设计。
CSDN和程序员杂志 创始人蒋涛认为:Stack Overflow在产品设计上的特色值得学习
1)更轻的参与,更快的反馈系统
原来的问答制模式,包括CSDN BBS需要用户回答问题才得分。 参与方式比较重, 而现在Stack Overflow的投票机制对问题表示赞同(提问的人也能得到积分),对回答表示赞同或反对,很容易参与。提问题和回答问题的人也容易得到满足。
2)更严格的管理,更开放的参与
Stack Overflow对问题内容质量控制很严,而且设计的是全员参与管理模式,只要你又足够的Reputation,就可以管理,比原来的斑竹管理模式更合理有效。
开发者 王诗沐:Stack Overflow的tag设计是集各家之大成
1. tag贯穿整个产品。不仅只是帮助用户搜索信息,Stack Overflow很早就允许用户订阅tag,设置自己喜欢和不喜欢的tag;后来又开发了tag的badges,很好地和reputation联系在了一起。再后来用tag来做广告。可以说Stack Overflow的tag设计是集各家之大成,在里面可以看到delicious、twitter等的优点,而且还自己创新了tag的badges。
2. 早期非常focus在基本需求。最早的Stack Overflow的界面比现在更朴素,资源全集中在问题与答案、用户投票和声望设计上,础搭的十分牢固。
3. 放长线,钓大鱼。Stack Overflow现在最大的特点就是单纯,很多推广时期依靠的功能(badges、reputation等),实际上都是基础功能延伸而来的,这个很多产品都没做到,国内尤其多。比如腾讯微博的badges,怎么看怎么生硬。这实际上体现了Stack Overflow在产品节奏和规划上的高明,各个复杂的功能和系统,其实都是从主干上延伸开来,而非再生主干。
为什么开发者热衷在Stack Overflow上查阅API文档?的更多相关文章
- 查阅API文档
Java的API文档:就一句话:应用程序接口 •API (Application Programming Interface,应用程序编程接口)是 Java 提供的基本编程接口. •Java语言提供了 ...
- Stack Overflow 上排名前十的与API相关的问题
Stack Overflow是一个庞大的编程知识仓库,在Stack Overflow 上,数百万的提问被回答,并且这些回答都是高质量的.这就是为什么在Google搜索结果的排行榜上,Stack Ove ...
- JavaScript超越了Java,c,python等等成为Stack Overflow上最热门的
JavaScript超越了Java,c,python等等成为Stack Overflow上最热门的标签 在2015年6月至今,JavaScript超越了Java,c,python等等成为Stack O ...
- Stack Overflow上关于Java Collections的几个常见问题
下面列出Stack Overflow上最常见的几个关于Java Collections的问题并给出答案. 1. 什么时候用LinkedList,什么时候用ArrayList? ArrayList是使用 ...
- Stack Overflow 上 370万浏览量的一个问题:如何比较 Java 的字符串?
在逛 Stack Overflow 的时候,发现了一些访问量像喜马拉雅山一样高的问题,比如说这个:如何比较 Java 的字符串?访问量足足有 370万+,这不得了啊!说明有很多很多的程序员被这个问题困 ...
- [转帖]Stack Overflow上188万浏览量的提问:Java 到底是值传递还是引用传递?
Stack Overflow上188万浏览量的提问:Java 到底是值传递还是引用传递? http://www.itpub.net/2019/12/03/4567/ 在逛 Stack Overfl ...
- 在ASP.NET Core Web API上使用Swagger提供API文档
我在开发自己的博客系统(http://daxnet.me)时,给自己的RESTful服务增加了基于Swagger的API文档功能.当设置IISExpress的默认启动路由到Swagger的API文档页 ...
- 上传Text文档并转换为PDF(解决乱码)
前些日子,Insus.NET有分享一篇<上传Text文档并转换为PDF>http://www.cnblogs.com/insus/p/4313092.html 它是按最简单与默认方式来处理 ...
- Core Web API上使用Swagger提供API文档
在ASP.NET Core Web API上使用Swagger提供API文档 我在开发自己的博客系统(http://daxnet.me)时,给自己的RESTful服务增加了基于Swagger的AP ...
随机推荐
- WPF 绑定二(绑定指定的字符串)
xaml: <Window x:Class="WpfApplication1.Window2" xmlns="http://schemas.microsoft.co ...
- UINavigationController 与 UITabBarController
http://www.cnblogs.com/YouXianMing/p/3756904.html // index start from 1. UITabBarItem *newsItem = [[ ...
- 腾讯微博OAuth2.0 .NET4.0 SDK 发布以及网站腾讯微博登陆示例代码(原创)
1.使用简单方便,包含详细注释: 2.暂时只支持xml格式字符串的转换,建议接口使用xml参数:3.QweiboSDK.Controllers命名空间下已包含所有API接口:4.只需调用到Qweibo ...
- sql server 查询多个不关联表且对结果编号
1.除非另外还指定了 TOP 或 FOR XML,否则,ORDER BY 子句在视图.内联函数.派生表.子查询和公用表表达式中无效. 解决方法:top 100 percent * 2.如何对查询结果编 ...
- 2013-07-23 IT 要闻速记快想
### ========================= ###苹果的新动向今天华尔街日报称,苹果正在测试13英寸的大号iPad,以及更大屏幕的iPhone.而早在五月份,韩国资讯网站 ET New ...
- HTML5的页面资源预加载技术(Link prefetch)加速页面加载
不管是浏览器的开发者还是普通web应用的开发者,他们都在做一个共同的努力:让Web浏览有更快的速度感觉.有很多已知的技术都可以让你的网站速度变得更快:使用CSS sprites,使用图片优化工具,使用 ...
- Flash Activex NPAPI PPAPI 各种网页插件完整安装包下载地址
内容全部是自己手工原创写作的参考内容,完全排除从其他网站COPY的内容信息.如有雷同实属巧合. 奉献给有需求的人士,也给各位解决FLASH安装头疼的问题,正常在线下载安装运气不好的安装半天.运气好 ...
- roscpp源码阅读
roscpp doxgen 这只是我摘取的一些主要代码 node_handle.cpp //NodeHandle的构造函数 void NodeHandle::construct(const std:: ...
- linux 非缓冲io笔记
简介 在linux中,打开的的文件(可输入输出)标识就是一个int值,如下面的三个标准输入输出 STDIN_FILENO/STDOUT_FILENO/STDERR_FILENO这三个是标准输入输出,对 ...
- 【转】- 使用T4模板批量生成代码
前言 之前在 “使用T4模板生成代码 - 初探” 文章简单的使用了T4模板的生成功能,但对于一个模板生成多个实例文件,如何实现这个方式呢?无意发现一个解决方案 “MultipleOutputHelpe ...