Coding 如何使用 Coding 开发 Coding
Coding Anytime Anywhere
Coding 团队有 70 多人,分布在全国各地(深圳,北京,上海,成都),我们使用 Coding 作为云端办公室,以云端协作的方式管理事务,文件等,我们的日常工作(包括但不限于产品,研发,市场)都是在其上完成的。Coding 的 全平台支持 让大家可以随时随地进行同步与协作,我们一直在践行 “Coding Anytime Anywhere”。
我们使用 Coding 团队功能管理团队成员和私有项目,只需要在 Coding 创建一个团队,选择迁入私有项目并添加人员,即可完成对成员,团队与项目的管理。(项目内也可以 设置不同成员的权限)
Push Everytime,Review Everything
Coding 的工作流(从需求到产品原型到开发)都是在项目内进行的:我们使用讨论和任务功能管理需求,使用文件功能管理产品原型,使用代码功能进行开发,这也便于每个人随时 Follow 或 Review 任务,文件或代码。
需求
我们使用 Coding 的 公开项目讨论功能 收集用户反馈,提炼核心需求并定期 Review 进行取舍。
为什么要 Review 产品需求?
软件缺陷并不只是在开发阶段才产生,需求和设计阶段同样可能会产生缺陷。
产品
当产品研究决定我们要实现某功能时,我们会以任务形式发布该需求,然后进行技术评审(如果是重大新功能还需要进行设计评审),评审完成且结果为肯定时我们会继续细化(修改)该任务,进行产品设计及排期。
在产品设计过程中,我们使用 Coding 的文件管理功能进行对产品原型的管理和版本管理。
开发
Coding 的开发方式,更像是一个大型的开源项目协作。当需求及产品原型以任务形式确定后,开发人员就开始基于自己的功能分支进行开发,其后的代码评审是也是通过项目内提交 MR (合并请求)进行的。
我们使用了 Feature Branch Workflow,即团队成员共用一个私有项目仓库进行管理协作,开发者在各自的 feature-branch 中进行开发,开发完成后通过提交 Merge Request 进行代码评审,通过代码评审后 merge 进入 master 分支( master 分支是可部署到 staging/生产环境的分支)。
工作流(Workflow),是对工作流程及其各操作步骤之间业务规则的抽象、概括描述。合理选择并使用一套工作流可以让技术团队开发更高效,更简单!
Workflow 没有银弹 ,如果你的:
- 生产环境有多个版本,需要持续支持旧版本的软件服务如操作系统,自定义应用程序等,可使用 Gitflow
- 生产环境只有一个版本,如网站,网络服务等,可使用 Feature Branch Workflow
- 生产环境只有一个版本但软件很复杂,需要 CI/CD 后才能进入生产环境的如 Gmail,Twitter 等,可使用 Gitlab-flow
测试与上线
当开发人员 push 代码后会触发 Webhook,我们的 Jenkins 会自动编译并测试该 commit。
你的部署工具应该支持你部署分支是很重要的。一旦你确认你的性能没有波动,没有稳定性问题,功能可用性在预期内,你就可以 merge 它了。这么做的原因不是为了确保事情可行,而是防止事情不可行。当其出错时,你的解决方案应该是单调,直接且无压力的:重新部署 master 分支即可。就是这样,你回到了“没问题”的状态。——《如何部署软件》
当测试通过时,我们会更新代码到 Staging 环境,更新好后由测试人员进行相关测试。Staging 环境测试没问题后,我们会以 Feature Flags (内部测试新功能)的形式发布其到生产环境,通知相关的产品或设计人员开启 Feature Flags 进行内部 Review,如果存在问题或缺陷,我们会新建一个任务进行修复,确保功能及设计细节的正确性。
如果经测试新功能确认没问题后,我们会开放该 Feature Flags,将该功能开放给全体用户。
结语
Coding 始终认为开发工具应该足够简单,开发人员的生成力应该被解放出来,我们使用 Coding 这个开发工具进行开发,旨在不断优化提升 Coding 的体验,让开发更简单。当然,如果你有任何需求或建议,请不要忘了 提交给我们 ;)
Happy Coding!
感谢 @summer ,@rexskz Review 了本文并提出修改意见,感谢 @tankxu 设计的图片(How Coding uses Coding to build Coding)
Coding 如何使用 Coding 开发 Coding的更多相关文章
- 使用Emmet(前身Zen Coding)加速Web前端开发
Emmet插件以前被称作为Zen Coding,是一个文本编辑器的插件,它可以帮助您快速编写HTML和CSS代码,从而加速Web前端开发.早在2009年,Sergey Chikuyonok写过一篇文章 ...
- 在Coding.net创建项目开发
先在Coding上创建个项目 只要建个项目推送代码余额就会增加,积累码币可以在商城里兑换相应的商品.为了码币,我也应该建个项目搞搞啊- 记录下过程. 先在Coding上创建个项目 现在是这样,我 ...
- zen coding一个牛的不行的html和css开发工具
zen coding 是一种仿css选择器的语法来快速开发html和css的开源项目.现已更名为Emmet.可以到github上下载拜读.在这个都想偷懒的世界里,此方法可以极大的缩短开发人员的开发时间 ...
- CODING 如何使用 CODING 研发管理系统来敏捷开发
之前我们分享过<CODING 如何使用 CODING 开发 CODING>的文章,时过境迁,现在 CODING 研发管理系统已经上线了如持续集成.缺陷管理.测试管理等 DevOps 中的重 ...
- 我也来谈谈使用Zen Coding快速开发html和css原理
zen coding 是一种仿css选择器的语法来快速开发html和css的开源项目.现已更名为Emmet.可以到github上下载拜读.在这个都想偷懒的世界里,此方法可以极大的缩短开发人员的开发时间 ...
- 让开发更简单 —— Coding Enterprise 发布
今天,我们很高兴地宣布 Coding Enterprise 发布了 —— Coding Enterprise 是 CODING 专为企业打造的软件开发协作平台,提供了针对中小型企业的公有云版本和针对大 ...
- 在线的代码托管平台 coding.net ===中国扩展版github
coding.net 是国内新兴的一个项目管理平台,功能主要包括:代码托管.在线运行环境.监控代码质量,兼有一定的社交功能. 在线运行环境支持Java.Ruby.Node.js.PHP.Python. ...
- 使用Coding.net+Hexo+node.js+git来搭建个人博客
使用Coding.net来搭建基于Hexo的博客 一.准备工作 什么是Coding.net Coding可以说,就是国产的Github,但是,有一个功能使它似乎超越了GitHub-那就是 Web ID ...
- Git版本控制:Gitlab及Coding.net的使用
http://blog.csdn.net/pipisorry/article/details/50709014 Gitlab介绍 GitLab是利用 Ruby on Rails 一个开源的版本管理系统 ...
随机推荐
- 20145229吴姗珊 《Java程序设计》第8周学习总结
20145229吴姗珊 <Java程序设计>第8周总结 教材学习内容总结 第十四章 NIO与NIO2 NIO: InputStream.OutputStream的输入输出,基本上是以字节为 ...
- codeforces 676B 模拟 递推
题意:每秒从最高处的杯子倒一杯酒下来,酒流的方式如图,问t秒装满酒的杯子的数目. 思路:把第一杯的值设为t,glass[i][j]=(glass[i-1][j-1]-1)/2+(glass[i-1][ ...
- 关于spring事务注解
关于事务的注解常用如下1.如果有事务, 那么加入事务, 没有的话新建一个(默认情况下),也就是当我们要开启事务的时候才用,即有数据库有增删改操作@Transactional(rollbackFor=E ...
- 大话设计模式--享元模式 Flyweight -- C++实现实例
1. 享元模式: 运用共享技术有效地支持大量细粒度的对象. 享元模式可以避免大量非常相似类的开销,在程序设计中,有时需要生成大量颗粒度的类实例来表示数据,如果能发现这些实例除了几个参数外基本都是相同的 ...
- C++(三)— 二维容器
1.二维bool向量 vector<vector<bool>> dp(len, vector<bool>(len, false));
- 关于IDT报错乱码总结
可算是把我折腾坏了.一筹莫展.最后才把这些问题搞好.有些事不知道做以前,怎么都想不到.发现了方法之后,原来也不过这样.我觉得自己记性太差.还是好好写下来吧.写下来顺便会帮我重新再梳理一遍.原先乱码是因 ...
- hibernate 一级缓存、二级缓存
一级缓存:——session一旦关掉就没有了.使用 load和get加载对象的时候,会自动加载到缓存,读取的也会读缓存. public void huancun(){ Session session= ...
- php如何判断电脑访问还是手机访问?
手机上网用户数量越来越大,如今各网站都推出了手机网站,电脑用户访问时直接访问电脑版网页,当用户通过手机访问网站时则跳自动跳转到手机版网页,下面给大家分享一段php中判断电脑访问还是手机访问的代码: & ...
- 一文读懂所有的编码方式(UTF-8、GBK、Unicode、宽字节...)
编码方式就分两类:ANSI编码.Unicode编码.这两类编码都兼容ASC码. ------------------------------------------------------------ ...
- Linux syslogd
/********************************************************************************** * Linux syslogd ...