如何做好代码片段管理?

举报
敏捷开发 发表于 2024/05/27 14:22:40 2024/05/27
【摘要】 在谈到编码规范的时候,我们关注的粒度从大到小划分的话,一般是按照应用、模块、对象、方法这样的层次来定义。在这些粒度上业内一般都有约定俗成的一些规范,就不再赘述。如何做好代码片段管理?本文我想重点和大家聊聊如何做好代码的片段管理。

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

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

什么是代码片段呢?一组相关的代码行我们就可以称之为一个代码片段。比如下面的代码是做一些变量的定义和初始化,这些代码行我们就可以称之为一个代码片段。

1.png

再比如这段代码,是对数据库进行连接处理,我们也可以称之为一个代码片段。

2.png

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

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

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

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

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

  • 首先对变量进行定义和初始化,以保证变量类型的准确、过滤非法输入值、输入参数和默认值的处理。
  • 接下来我们需要对表单提交过来的数据进行业务上的检查处理,比如标题是否有填写值、优先级是否符合系统要求、对任务的描述进行HTML标签的检查和过滤等。
  • 再接下来就是对数据库进行插入操作,并获得最新插入的任务编号,以供后续使用。
  • 最后记录系统日志,给出返回值等操作。


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

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

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

那如何做代码片段管理呢?以下面的一段代码为例来给大家展示下我们的小技巧。

3.png

我们先使用空行对代码进行片段的组合:不对代码做任何修改,只是增加换行,将相关的代码分割为一个片段。再来看一下,是不是可读性就好了很多?

5.png

再接下来,我们对每个代码片段写一下注释。我们一般用/**/ 这样的注释方式来做段注释。

5.png


再接下来我们对代码做一下对齐。比如赋值的等号我们做一下对齐,是不是就清楚很多了?

6.png

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

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

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

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。