很多团队每天花很多时间切换不同的工具中来做代码版本控制和项目管理!我们是否可以减少在这个过程中浪费的时间?能不能「直接」在单个系统内完成以上操作?

废话不多说,一起看看开源中国如何使用码云完成开发?

------ 华丽分割线 -------

开源中国内部团队包括前端、后端、设计、产品、运营,用码云(Gitee)来托管所有代码和管理项目,如下图所示(企业团队只会显示该成员参与的团队,未参与团队没有权限看到)。

1、需求阶段(需求收集、分析和评审)

产品团队通过分析往期功能的数据来确定是否要做调整和改进,以及结合用户的反馈来确定是否要添加某一项新功能。产品团队内部评审和优化之后,产品经理会和各个业务的技术负责人再一起去做需求的评审,确保需求的合理性和重要程度。

创建一个「需求管理」的任务类型,将这一流程分解为需求收集-需求分析-需求评审三个阶段(自定义任务状态),分别建立对应的任务列表。每收到一条用户需求,就在「需求收集」的列表上新建一条任务,具体的使用场景备注在任务详情中。

接下来,产品团队预先一两周给出需要开发的任务,这些任务会在技术组内会花半天时间讨论,将产品 Task 再次拆分为子任务(独立最小需求),同时在子任务中填写预估完成的时间和设置任务的优先级。再将各个子任务分配到人(责任制)。如下图所示,码云任务功能模块可以非常清晰的看到整个需求被拆成了多少个子任务,有助于整体项目的把控。

子任务:

另外,成员需添加通知设置(个人设置页面 - 通知设置),之后当需求发生改变的时候,都会自动发送信息给这个需求任务中的同事,节省了需求变更后的沟通成本。

除此之外,开源中国内部引入每日站会。大家从无话可说,听不懂别人说什么,到现在必须限制每人的发言时间,说明大家对于项目整体有了比较清晰的全局观!不仅如此,开发团队每周五下午都会抽出一到两个小时分享各自的心得,实行一段时间后,能明显感受到团队的信心和凝聚力在增长。且每次分享结束后,业务负责人都会将其中精华整理成知识库放在 wikis 中,以供成员随时查阅。

2、设计阶段(设计需求、原型设计、视觉设计)

当需求确定之后,产品就可以进入到设计阶段。创建一个「产品设计」的任务类型,将这一流程分解为设计需求-原型设计-视觉设计三个阶段(自定义任务状态),分别建立对应的任务列表。

在【产品设计】中新建设计需求,并在任务详情中描述需求细节和注意事项。

当设计完成时,设计师将本地的设计稿上传到任务的附件中,再通知研发部门的负责人,并交付设计。研发部门的负责人发表意见时,可以在评论区通过@的方式知会到相关人员,被@的人可以通过站内信接收到通知。

3、开发阶段(开发、提交 PR、代码审核、测试)

产品设计完成后,进入开发阶段。开源中国内部研发人员一般的开发流程如下:

  • 在码云上进行 Fork 项目代码;
  • 将上述的仓库 clone 到本地;
  • 在本地环境中创建开发分支;
  • 对开发分支进行代码修改并提交;
  • 将开发分支代码 push 到码云上相应仓库中;
  • 在码云上向源仓库(项目代码)发送 Pull Request;
  • 项目负责人对提交的 Pull Request 做代码审核;
  • 如果通过,则合并该 Pull Request;不通过,则说明原因重新修改,然后再提交。

看到这里,你可以会想,工程师提交的 Pull Request 如何跟前面我们提到的码云任务管理模块相关联呢?开发团队如何在 Pull Request 中做代码审核呢? Pull Request 相比较传统模式有什么优势么?

3.1、PR 关联任务

举个简单的例子,当你提交的代码是解决了一个 bug,或者一个 feature 的时候,你想要任务与这次提交的信息产生关联该怎么办?码云支持代码提交和任务建立关联,你可以在提交代码时候通过在 commit 的信息里面加上“#xxx”(任务编号)将代码与任务关联起来,比如:

git commit -m “XXX #IGFM5”

任务 ID 为 IGFM5 的任务将会产生一个关联信息,这样更方便任务追踪管理以及 bug 追踪管理,关联后效果如图所示:

或者也可以在 Pull Request 的评论中关联任务。

如果在提交说明中的问题编号前出现特定关键字,还可以关闭任务,如:fix #xxx。

3.2、PR 代码评审

码云上的 Pull Request 作为一个非常有用的代码审查工具,通过 Pull Request @相关团队成员 让对方审阅自己的代码,指定成员跳转到指定分支后可以对代码进行评论,提出改善建议,帮助改善逻辑及缺陷。

码云平台限制 Pull Request 源项目与目标项目需存在 fork 与被 fork 关系,故如果你要提交 Pull Request,必须先 fork 一个项目,然后才能对该项目提交 Pull Request,同时,以该项目为父项目的所有项目,您也均可以提交 Pull Request。但提交 Pull Request 时,您的项目与目标项目必须存在差异。如果不存在差异,或者目标分支比你提 Pull Request 的分支还要新,则不能提交 Pull Request 。

点击“新建 Pull Request”填入 Pull Request 的说明,点击提交 Pull Request,就可以提交一个 Pull Request 了。

3.3、PR 代码比对

提交 PR 后,我们可以通过双栏对比查看修改文件和源文件之间的差异。

3.4、PR 按行评论

我们可以对指定代码进行提问及评论,回答并展开讨论。

通过讨论和评论的方式对代码进行不断的重构和改善,直至指派的审查人员和测试人员对代码完成审查并通过后才能进行最终合并。

4、缺陷管理

创建一个「缺陷管理」的任务类型,将这一流程分解为新提交-处理中-测试中-已解决四个阶段(自定义任务状态),分别建立对应的任务列表。

利用任务中的「优先级」标注 Bug 处理的顺序与严重程度。

同时可以利用「标签」 对存在的 Bug 进行清晰地归类与存档管理。

  • 功能错误:功能上的错误性 bug。
  • 代码错误:通常在自测时出现(对白盒测试、自测的比较适合)。
  • 内容相关:业务逻辑方面以及业务描述等相关问题。
  • 表单相关:表单逻辑、样式、内容问题。
  • 用户界面:UI 表现,包括对话框样式和文字描述问题。
  • 设计文档:数据库设计文档、概要/详细设计文档。
  • 配置相关:如 web 服务器或者数据库服务器配置等问题。
  • 安装部署:项目部署时出现的错误,可能不是程序本身的问题而是工具本身和人为因素引起。

产品上线后,收集到的用户反馈信息又会统计到 [需求管理]中,作为下一轮迭代的需求来源。

详细的产品体验请前往 https://demo.gitee.com/enterprises ,我们提供了一个 Demo 账号可以轻松体验。你还可以直接开通免费企业版,我们的免费版不限项目数,可添加 5 个开发人员哦。

码云团队如何使用码云?相关推荐

  1. 腾讯云团队为什么用阿里云的服务名?

    腾讯云开发者发表了一篇最新客户成功案例 <由浅入深纵观腾讯文档的云原生实践之路>,实话实说,写的挺好的,远远超出了我在<腾讯云阿里云做的真的是云计算吗?--从客户成功案例的视角> ...

  2. 完整免授权彩虹源码(多模板+小储云商城模板)6.7.5

    介绍: 完整免授权彩虹源码(多模板+小储云商城模板)6.7.5 无差错,免授权,功能齐全,模板齐全. 网盘下载地址: http://kekewangLuo.cc/oCvMx0uN9AD0 图片:

  3. 企业网上下单订货管理软件源码搭建功能介绍|移讯云订货通订单管理系统

    网上下单订货管理软件源码搭建功能介绍|移讯云订货通订单管理系统 一:系统概述和用途 系统基于网络,实现厂家和代理商批发商通过网络下单订货功能. 什么是移讯云订货通.什么是企业订货管理系统. 是一款针对 ...

  4. JAVA实现生成原生二维码并上传至阿里云

    JAVA生成二维码并上传至阿里云 pom依赖 <dependency><groupId>com.google.zxing</groupId><artifact ...

  5. 国际短信系统平台软件源码开发路由功能—移讯云短信系统

    国际短信系统平台软件源码开发路由功能-移讯云短信系统 客户端功能介绍 1: 发送短信模块: 自定义号码短信,通讯录短信,资源短信. 2:提交任务模块: 查询当前登录账号提交的短信 3:短信明细模块: ...

  6. 一张收款码,同时支持微信、云闪付、支付宝、信用卡支付

    想必你也有过这样的经历,在门店消费时,看过商家只张贴了一张收款码,用微信或者支付宝扫码都可以支付,同时支持微信.云闪付.支付宝.信用卡支付. 这样不管是对商家还是顾客来说确实都更加方便快捷.商家只需要 ...

  7. qq视频转码失败怎么办_腾讯云点播视频转码需要注意的问题

    上传视频是否可以选择不转码? 老版腾讯云点播在控制台上传是必须选择转码模版的,但使用api上传的时候可以选择不转码,在申请媒资的时候, 指定mode参数为 no_transcoding就不会进行转码, ...

  8. 国际网页短信后台定制源码搭建软件平台定制-移讯云短信系统

    国际网页短信后台定制源码搭建软件平台定制-移讯云短信系统 短信服务端号码通道分类功能 短信后开发按照要求有个功能是发送分流.就是当短信客户端提交过来的短信号码包含移动.联通.电信时,系统要实现不通类型 ...

  9. 分享2款设备管理系统源码:Springboot医院设备管理+物联网云监控IOT设备管理

    淘源码:国内专业的免费源码下载平台 今天分享两套设备管理系统源码,一套是Springboot医院设备管理系统,另一套是php物联网iot设备管理系统,需要源码学习的小伙伴可私信我. ▶▶▶1:Spri ...

最新文章

  1. mysql数据库建仓范式_存mysql个数
  2. vagrant box php,vagrant box php开发环境配置 -- nginx
  3. React之函数式组件使用props
  4. Linux下MySQL5.6的修改字符集编码为UTF8
  5. Eclipse导入的项目中的中文都是乱码,如何解决?
  6. 楼层平面放线及标高实测记录_建筑工程定位放线技术交底施工单位测量人员必备...
  7. STL应用--SORT自定义排序
  8. Eclipse Maven构建Spring MVC项目
  9. 十款最好用的远程桌面工具
  10. 免费开源的100套Echarts大屏数据可视化模板分享
  11. uniapp调起打印机(调起第三方打印软件)适用app,将页面生成图片打印的两种方式
  12. 机房冷风吹-linux基础环境搭建(基础篇)
  13. 跨境贸易EDM邮件使用指南
  14. 【只摘金句】Linux 开发模式带给创业者的启示
  15. Swift macOS NSTextField 响应键盘按键 Enter 回车键,或者其它按键
  16. 成长中必知的20个故事[转]
  17. Python周刊505期
  18. 一文让你了解RFID标签芯片厂家有哪些?
  19. c语言odbc编程,c语言之odbc编程指南c语言之odbc编程指南.doc
  20. 精读5G:关于5G的NSA和SA,看完秒懂!

热门文章

  1. 量子计算(二):为什么需要量子计算
  2. 你愿意给应届生200万年薪吗?
  3. 别说我没告诉你,真心推荐4款免费动画制作软件
  4. 使用NGINX发布DEM切片
  5. PureMVC 游戏框架解析
  6. 2006年星座运势 天蝎座
  7. 使用原生JavaScript改变DOM元素面试题
  8. Mac苹果电脑开不了机怎么办,该怎么修复
  9. 微信小程序:父子组件的通信
  10. unity实现炮弹运动轨迹(抛物线)