为了账号安全,请及时绑定邮箱和手机立即绑定

如何做好代码片段管理?

在谈到编码规范的时候,我们关注的粒度从大到小划分的话,一般是按照应用、模块、对象、方法这样的层次来定义。在这些粒度上业内一般都有约定俗成的一些规范,就不再赘述。

今天这篇文章我想重点和大家聊聊如何做好代码的片段管理。

什么是代码片段呢?一组相关的代码行我们就可以称之为一个代码片段。比如下面的代码是做一些变量的定义和初始化,这些代码行我们就可以称之为一个代码片段。
https://img1.sycdn.imooc.com/669df9770001147912650219.jpg 再比如这段代码,是对数据库进行连接处理,我们也可以称之为一个代码片段。

https://img1.sycdn.imooc.com/669df9780001200711860154.jpg

为什么这次单独拿代码片段出来讲呢?主观原因是,从我们带团队的经验来看,开发人员往往缺失代码片段管理的概念。客观原因是现代编程语言粒度缺少代码片段这样的中间管理单位。大家可以想一下学习编程的经历,老师们都会讲一个程序是由一个个的模块组成的,模块是由类组成,每个类有自己的各个方法,而方法由代码行组成——不存在中间代码片段的概念。

正因为大家对代码片段管理概念的缺少,才更需要认真做好代码片段管理。从我们禅道团队自身的实践经验来看,做好代码片段管理,有以下两个好处。

首先,可以提高开发人员的逻辑能力和宏观思考能力。

禅道团队很多新加入的同事,写代码的时候往往从头写到尾,一个方法的几十行代码没有任何间隔。这样写代码就有点像写流水账,没有代码组织的概念。

以一个任务的添加表单为例,可以这样来做代码片段管理:

  • 首先对变量进行定义和初始化,以保证变量类型的准确、过滤非法输入值、输入参数和默认值的处理。

  • 接下来我们需要对表单提交过来的数据进行业务上的检查处理,比如标题是否有填写值、优先级是否符合系统要求、对任务的描述进行HTML标签的检查和过滤等。

  • 再接下来就是对数据库进行插入操作,并获得最新插入的任务编号,以供后续使用。

  • 最后记录系统日志,给出返回值等操作。

通过这样的分层次操作方式,可以逐渐培养开发人员的逻辑能力和宏观思考能力。

其次可以增强代码的可读性和可维护性。

通过代码片段的方式来组织代码,可以增强代码的可读性和可维护性。比如另外一个同事来解决Bug,会碰到之前自己没接触过的方法。通过浏览代码片段就可以很容易了解到这个方法的整体逻辑,也可以很容易聚焦到要修改的地方。设想一下如果不做片段管理,从密密麻麻几十行甚至更多的代码行里面找到要改动的地方,是极富挑战力且很容易改出错的。

那如何做代码片段管理呢?以下面的一段代码为例来给大家展示下我们的小技巧。
https://img1.sycdn.imooc.com/669df97800016e8d21391005.jpg
我们先使用空行对代码进行片段的组合:不对代码做任何修改,只是增加换行,将相关的代码分割为一个片段。再来看一下,是不是可读性就好了很多?
https://img1.sycdn.imooc.com/669df9790001023810141057.jpg
再接下来,我们对每个代码片段写一下注释。我们一般用/**/ 这样的注释方式来做段注释。
https://img1.sycdn.imooc.com/669df979000173dc10371124.jpg
再接下来我们对代码做一下对齐。比如赋值的等号我们做一下对齐,是不是就清楚很多了?
https://img1.sycdn.imooc.com/669df97a00017c3310151135.jpg 

我们对代码其实没有做任何改动,就只是做了下版式上的调整,是不是就改善好多?

当然接下来我们还可以再更进一步地对代码进行改动,比如改进命名、优化逻辑、改进算法等等,这些就是极限编程中更进阶的实践了。

怎么样,代码片段的管理,你学会了吗?


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消