http://www.cocoachina.com/gamedev/misc/2013/0227/5728.html
这篇文章的内容由ThoughtBot在github上官方主页提供,指导你如何在github上进行代码审查和如果让别人审查自己的代码。
针对所有人的审查
•接受这样的事实:很多编程上的主张都是一种个人观点。应该讨论它们的利与弊,提出你的倾向观点,迅速的达成一种解决方案。
•提问,而不是命令。(“把这个变量命名成:user_id你觉得怎样?”)
•请求说明。(“我不明白。你能解释一下吗?”)
•避免代码的归属之争。(“我的”,“不是我的”,“你的”)
•避免使用一些会被认为是有关人身特征的词语。(“笨蛋”,“愚蠢”)要把所有人都看作是有魅力的、聪明的、善意的。
•要明确。要记着并不是每个人都能理解你的意图。
•要谦虚。(“我不能确定——我们来分析一下。”)
•不要用夸张修辞语。(“总是”,“从不”,“永远”,“毫无…”)
•不要讽刺。
•展现真实的你。如果你不是幽默型的人,不喜欢使用一些表情符号或动画gif图,不要勉强。如果你是这种人,请自信的发挥。
•如果有太多的“我不理解”或“另一种方案:”的评论,请专门针对这个人进行交流。可以把你们线下的交流总结成一个帖子附在后面。
让别人审查你的代码
•对审查者的建议表示感激。(“谢谢提醒。我会把它改正。”)
•理解审查是对事不对人。审查的是你的代码,而不是你。
•解释为什么代码写成这样。(“因为xxx原因我才写成这样。如果我把这个类/文件/方法/变量改个名会更清晰些吗?”)
•整理所作的改动,在以后的迭代中重构它们。
•在做修改的版本上注明代码审查的链接。(“Ready for review: http://github.com/organization/project/pull/1″)
•push提交要基于最早的一轮反馈,并形成一个独立的分支。等这个分支上的任务完全完成了再合并。这让审查者能够根据早先的反馈找到你的单独的更新。
•努力站在审查者的立场上理解。
•争取回复每个评论。
•直到最后一个人退出登录后再合并分支。
•直到持续集成测试(TDDium, TravisCI,等)告诉你这个分支的测试套件通过后再合并分支。
代码审查的过程
先要清楚你提交的代码的必要性(是修补bug,提升用户体验,重构…),然后:
•针对你感觉非常好的地方以及不是很好的地方与作者交流。
•找出既能解决问题又能简化代码的方法。
•如果讨论变得过于哲学或理论,把讨论转到线下,做成一个有规律的每周五下午的讨论会。同时,是否采用你提出的实现方案,让作者自己做决定。
•提出你的实现方案,但要表现出作者也在考虑这种方案。(“你觉得这里用一个自定义校验如何?”)
•努力理解作者的立场。
•pull请求登出时,加一个或“可以合并了”的注释。
关于程序风格样式的评论注释
审查者应该对那些不符合样式指导的地方进行注释。例如这样注释:
![](http://www.cocoachina.com/cms/uploads/allimg/130227/4196_130227092950_1.jpg)
如果你不同意某个指导原则,请在指导repo里创建一个问题,而不要再代码审查中争论它。同时,请运用这个指导原则。
相关推荐
开发的 AppStore 产品的技术方案,旨在提供一个完整的 AppStore 解决方案,涵盖系统架构、接口设计、开发者社区、个人主页、存储平台、用户信息中心、业务核心数据、DRM 推荐平台、搜索引擎、公共业务组件、IMU ...
App_store发布流程详解 本文将详细介绍如何将APP发布到App Store的步骤,涵盖证书的导出、App ID的申请、发布证书的申请等重要知识点。 一、证书的导出 要将APP发布到App Store,首先需要导出证书。在苹果的...
随着移动互联网的发展,应用程序(App)已成为企业和个人接触用户的重要渠道之一。对于iOS平台上的开发者来说,如何有效地推广自己的应用显得尤为重要。苹果公司为此制定了《App Store:开发者营销广告指南》,这份...
App Store模式,自2008年由苹果公司推出以来,已成为全球移动应用分发的重要典范,引领了移动互联网行业的创新和发展。本报告将深入探讨App Store的各个方面,包括其定义、业务模式、应用内容的分析以及背后的商业...
它允许个人开发者获取计划资源,并且在上传应用到App Store时,"销售者"一栏会显示个人的名字。 2. **公司iOS开发者计划** - 同样是$99/年,适合有团队协作需求的公司。团队成员可以被添加并共享项目资源,而且在...
其中,公司iOS开发者计划是最常被选择的一种类型,因为只有使用个人或公司iOS开发者计划证书开发的应用程序才能上架App Store。相比之下,企业开发者计划主要用于为公司内部开发软件,并安装到本公司的硬件设备上,...
**envi-app-store** 在IT领域,ENVI(Environment for Visualizing Images)是一款广泛使用的遥感图像处理和分析软件。它的强大功能在于提供了一系列高级工具,帮助用户进行图像分类、特征提取、大气校正等复杂任务...
《App Store开发者单页前端模板66t》是一款专为App Store开发者设计的前端模板,其特点是具有美观的界面和高效的响应式布局。这款模板基于Bootstrap框架构建,提供了丰富的HTML5元素和CSS3样式,旨在为开发者提供一...
本书旨在帮助开发者在Apple的AppStore中找到成功的路径,通过掌握iPhone SDK的关键技术和最佳实践,实现创新与盈利。 首先,iPhone SDK是苹果公司为开发者提供的一个强大的工具集,它包含了开发iOS应用所需的一切,...
在iOS应用开发中,创建与iOS 11 App Store类似的列表效果是一项常见的需求,它可以提升用户的体验感,使应用更具吸引力。本项目标题为“高仿iOS11 App Store列表效果”,其主要目的是通过编程技术实现类似App Store...
"appstore开发用火狐打开"这个标题可能是指使用Firefox浏览器来访问和处理与AppStore相关的开发任务,这通常涉及到Web开发工具的使用,尤其是对于基于Sencha Touch框架的应用程序。 Sencha Touch是一个强大的...
可以选择是否参与App Store的自动价格调整和促销活动。 9. **发布**: 当审核通过,一切准备就绪后,可以选择立即发布或设置预定发布日期。发布后,应用将在App Store上可供用户搜索和下载。 10. **后续更新与...
"AppStore应用软件官网模板"是专为此类企业设计的一款网页模板,旨在帮助他们快速、高效地创建专业且具有吸引力的在线存在。 这款模板的设计考虑到了iOS用户的浏览习惯和审美倾向,它通常包含以下几个关键组成部分...
App Store 上传材料须知 在将应用程序上传到 App Store 之前,需要准备一系列必要的材料,以便确保应用程序能够顺利通过审核和上架。下面是 App Store 上传材料须知的详细解释: 1. 项目 SVN 或源代码 在上传应用...
在iOS应用开发中,"仿AppStore动画效果"是一个常见的设计需求,旨在为用户提供与官方AppStore类似的用户体验。这种效果通常包括动态弹框列表、点击Cell后的交互以及下拉返回等特性。以下将详细讲解这些知识点: 1. ...
标题中的“swift-react-native-app-store-review”指的是一个项目或库,它是用React Native框架实现的,目的是在iOS应用中提供类似Apple App Store的用户评分功能。React Native是一种由Facebook开发的开源...
【App Store 审核指南中文版】是苹果公司为iOS应用开发者提供的官方指南,用于指导开发者如何遵循苹果的政策和标准,确保应用能够顺利通过App Store的审核并上架。这份指南强调了苹果对于应用质量、用户体验、内容...
在 App Store 上架流程中,需要经过多个步骤,包括拥有自己的苹果开发者账号、创建相关证书和配置文件、创建 Bundle ID、创建配置文件等。下面将详细介绍每个步骤的内容。 第一步:拥有自己的苹果开发者账号 苹果...
#### 一、IPv6与App Store的关系 App Store对应用的要求非常严格,其中包括必须支持IPv6。这是因为苹果认为IPv6是未来互联网的重要组成部分,所有在其平台上发布的应用都应具备这一能力。对于开发者来说,这是一项...
发布应用必须通过App Store。 - **公司开发者账号**:适合于以公司名义进行应用开发的情况,费用同样是99美元/年,但需要提供公司的邓白氏码(D-U-N-S Number)。发布应用也需通过App Store。 - **企业开发者账号**...