资讯专栏INFORMATION COLUMN

关于开发流的一点思考

wangbjun / 1693人阅读

摘要:另外,图中淡紫色的图标是在我目前的开发流程中没有或者体现的并不明显的地方。五上线前多人代码目的很简单和每一位涉及的开发人员核对每一行代码的变动,防止误提交被发布到线上。把上线的推进权利集中到一个人的手上,梳理并核对发布顺序,最终完成上线。

前言

突然想聊聊开发流的东西,可能在一个新的环境下对之前的整个开发流程有了些思考,思考什么?

我所理解的一个高效的开发流程应该是什么样的?
我所理解的开发流

实际工作也有四年了,做互联网开发也三年了,所以自然而然对整个软件开发流程有了些自己的想法和理解。对于我所理解的开发流程要有如下的特点:

尽可能的把问题暴露在开发时间周期的前期(凡事无完美,尽可能的想一些措施做好辅助即可)

养成好的开发习惯去避免犯错

如下图,是我整理的我所理解的一套开发流程:

上图中,我们在开发过程中随着时间线的前移,我们犯错的概率尽可能的集中在前面。另外,图中淡紫色的图标是在我目前的开发流程中没有或者体现的并不明显的地方。

需要多带带说说的地方
一、技术评审

为什么需要技术评审?当然这里需要技术评审的应该是一些体积大或者影响面比较大的项目,具体的评判标准就依环境而定了。

技术评审的目的,一方面,开发人员向负责人和相关人员同步具体的技术实施方式,是一个信息同步的过程;另一方面,负责人或相关负责人对技术方案进行评估,毕竟负责人和相关人员是对系统整体了解最透彻的人,从而避免未来项目开发完了或者上线了才发现一些比较大的问题。

最后,技术评审通过后,相应的开发人员写代码也可以一蹴而就,安安心心的码代码,是吧?

二、代码建模

建模也不是我第一次谈到了,具体的实例在我之前的文章里也能找得到,我为什么这么强调建模?因为建模(就是抽象)之后写出来的代码往往思路清晰,高可扩展。

三、习惯性个人diff代码

①commit代码前diff代码 ②merge代码前diff代码 ③上线前多人diff代码

以上是我一定会去diff代码的场景,目的很简单,一:是不是误提交了代码 二:简单的code review

四、code review

code review 的最佳时间我一般建议是开发完成时或联调阶段,因为这段时间业务代码基本是一个稳定的版本了。至于这个时间之前,代码不稳定;至于这个时间之后,review出问题再修改代码的成本(浪费测试的时间)会比较高。

五、上线前多人diff代码

目的很简单:和每一位涉及的开发人员核对每一行代码的变动,防止误提交被发布到线上。

六、上线流程

这个一般出现在多项目上线的情况,涉及多项目的发布依赖关系,为了保证最终按正确顺序的串行上线。把上线的推进权利集中到一个人的手上,梳理并核对发布顺序,最终完成上线。

七、异常监测

例如后端系统的话,观察系统的3xx、4xx、5xx异常日志曲线在上线后是不是有突然的上升趋势来判断我们的上线是否正常。

扫面下方二维码关注我的技术公众号,及时为大家推送我的原创技术分享

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/28696.html

相关文章

  • 关于开发流的一点思考

    摘要:另外,图中淡紫色的图标是在我目前的开发流程中没有或者体现的并不明显的地方。五上线前多人代码目的很简单和每一位涉及的开发人员核对每一行代码的变动,防止误提交被发布到线上。把上线的推进权利集中到一个人的手上,梳理并核对发布顺序,最终完成上线。 前言 突然想聊聊开发流的东西,可能在一个新的环境下对之前的整个开发流程有了些思考,思考什么? 我所理解的一个高效的开发流程应该是什么样的? 我所理...

    fancyLuo 评论0 收藏0
  • Fluented,Kubernetes和谷歌云平台——处理日志流的解决方案

    摘要:最后,我们用和适当的独特后缀来标注数据流。将数据流分离到两个不同的目的地在这里,我们解析自动定量日志,管理我们的缓冲区,查询和区块大小。 也许你对Fluentd的统一日志记录层已经有所耳闻。可能你对日志是流不是文件这个概念也已经很熟悉,所以现在就让我们用这个方法来思考日志层。事实上,最后导致决定性的一点就是fluentd是如何被配置的。全部都是关于我们如何处理stream的不同元素的:...

    ymyang 评论0 收藏0
  • 关于前端数据&逻辑的思考

    摘要:这里引出了一个概念,就是数据流这个概念,在项目中我将所有数据的操作都成为数据的流动。 最近重构了一个项目,一个基于redux模型的react-native项目,目标是在混乱的代码中梳理出一个清晰的结构来,为了实现这个目标,首先需要对项目的结构做分层处理,将各个逻辑分离出来,这里我是基于典型的MVC模型,那么为了将现有代码重构为理想的模型,我需要做以下几步: 拆分组件 逻辑处理 抽象、...

    alin 评论0 收藏0
  • 关于拆分活动页为独立仓库的一点思考

    摘要:最近在写公司活动页的时候,由于历史原因,活动页跟公司的主站点放在同一个下,且活动页的访问路径也是在主站之后,并未单独分配二级域名。 最近在写公司 h5 活动页的时候,由于历史原因,活动页跟公司的主站点放在同一个 repo 下,且活动页的 url 访问路径也是在主站之后,并未单独分配二级域名。现在想着将活动页面项目单独拆分出来。 现有小问题 现有项目中也有几点不好在这也说一下: ng...

    mengera88 评论0 收藏0
  • react.js,angular.js,vue.js学习哪个好?

    摘要:好好打基础,然后多尝试不同风格的框架,因为只有尝试过后才能理解比如徐飞提到的各种权衡,也只有尝试过后才能知道哪个能真正提升自己的开发效率。 今天看了几篇关于这三个主流框架的PK,如标题:react.js,angular.js,vue.js学习哪个好?相信每个人都有这种问题。 现在的前端框架层出不穷,作为前端开发者何去何从?fackbook的react.js盛世火热,react nati...

    Towers 评论0 收藏0

发表评论

0条评论

wangbjun

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<