Facebook移动客户端开发揭秘.doc

Facebook移动客户端开发揭秘.doc

ID:61833228

大小:452.00 KB

页数:6页

时间:2021-03-23

Facebook移动客户端开发揭秘.doc_第1页
Facebook移动客户端开发揭秘.doc_第2页
Facebook移动客户端开发揭秘.doc_第3页
Facebook移动客户端开发揭秘.doc_第4页
Facebook移动客户端开发揭秘.doc_第5页
资源描述:

《Facebook移动客户端开发揭秘.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、独家爆料:Facebook移动客户端开发揭秘摘要:Facebook移动客户端开发团队在不断壮大。现在它有足够的人力,用native来实现以前HTML的功能。同时native在性能方面也有更多优化的空间。为了用户体验Facebook发布纯native版本的客户端应用也就不足为奇了。目前来说,由于相关政策法律的原因中国国内用户无法正常登陆Facebook,但对于国内的软件开发者来说,Facebook内部的开发环境和氛围还是非常值得我们膜拜的。这是一个非常独特而庞大的软件开发团队,汇集了国际上最为顶尖的软件人才。今天,就为大家聊聊在Facebook内部的软件开发细节。Facebook内部工程师分享

2、在Facebook内部经常会有一些人搞讲座,分享一些开发技巧,或者是想推动某些概念和思想。比如有人呼吁让大家都写单元测试,那他就会做很多讲座,跟大家讲怎么做单元测试,为什么要做单元测试。还会尽量做一些类似PlayProgramming的活动,就是教大家怎么编程。因为有时候,有些代码真的很难写单元测试。布道的人甚至会来开发一些框架和工具来教你。还有一些例行的分享,比如说一个产品发布以后,就会有一个类似于产品发布的Review分享会,讲产品开发过程或发布过程中遇到的各种问题以及解决方法。最重要的是,在Facebook每一位工程师都可以看代码库里所有的代码,这可是Facebook的整个代码库!并且

3、在代码库也都有WorkHistroy,可以看到谁写了某行代码,或者写的哪个方法。如果你搞不懂,在IRC频道里面,就直接去Ping这段作者,可以通过这种方式可以快速的了解和解决一些问题。CodeReview代码审查机制在代码审查方面,有一个流程叫CodeReview。在每一次代码改编,都必须经过Review被批准,才能进入代码库。但在整个Facebook中,并没有一个专门的Review小组,但人人都可以Review。在Facebook中没有结对编程,但CodeReview你可以看成是另一种形式的结对编程,它是异步的,大家泛结对,不仅仅是两个锁定起来的人。一般来说我们组内大家互相做Review。

4、但是如果你有一个改动涉及到其他组,那么可能你要看一下与谁有关,发给他参与Review。具体做Review时,每个Review你都是在一个浏览器里面Review。你可以就具体到每一行代码给出你的反馈意见。当然这个Review像一般的网站一样,你可以访问,可以看到的很多讨论,能看到每一个版本的改变历史,所以Review是一次很好的学习机会。在Facebook中,任何对代码的修改都是以diff的形式完成的。diff的形式与git有一些差别。git是基于现在代码进行的修改,支持新实现功能或者bug修改。比如这个文件里增加了一行,这行的内容是什么,这行删了一行,就是相当于一种文件的修改。而diff简单

5、来说,就相当于你做的一个任务,做了一个代码的修改,加了文件,或删了文件,或者对代码的修改。当然在FacebookGroup里面大家也会讨论问题、问问题、各种交流等。然后有人也会在里面进行布道。比如为什么要坚持某些设计原则,或者分析方案A,出发点是什么,好处是什么,可能的缺陷是什么。如果是方案B,好处是什么,缺陷是什么,都会有这样的讨论。关于软件工程师的考核方法据闻,在Facebook移动客户端的代码库中,是消息推送部门的TechLeader的贡献量最大。但对于软件工程师来说,每个月对于代码库的贡献量并不能完全反应出个人的价值。这只是一个数字,随便看看。因为也许他只是改了一行代码,但有可能把整

6、个系统架构都改了。字数只是一个数值,可以看看,只是看看而已。对于软件工程师的考核主要是,发布了什么样的功能,有多少用户,用户对它喜欢程度如何?这是可以衡量的,大家都可以看到的。还有其他一些方面,比如大家互相之间写的Review,这些能捕捉到一些额外的工作量。比如说有人在整个工作中对同事的帮助和提升成长很大,但是他有可能没有体现在那个里面,没有体现在他发布多少代码里面。所以Facebook的考核是综合性的。平常软件工程师也都会写周报,一周做了什么,也让大家知道,让主管知道。这个周报会发给主管,但所有人都可以订阅。在Facebook里的文化氛围是非常开放的。如果某人做了一些很有意义的事情,他还可

7、以自己写总结,讲述做了什么工作,主管会根据这些“成就”有加分。因为有时候他做的这些工作不一定被很多人知道,可能是涉及到其他部门的工作,帮助兄弟部门做了很多改进,相关的人能知道,但是本部门的人不知道。可以通过这种方式,把自己做过的一些比较重要的事情体现出来。移动客户端和开发团队Facebook内部组织架构比较透明。对于Facebook各款移动客户端的开发,有一个叫做Mobile部门专门负责。他们是这样子划分的:

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。