正则表达式变量名命名的规则_如何简单有效地提高代码质量?修改变量名即可...

全文共 6633字,预计学习时长 13分钟
0744c2ad1c0815dce82d753514e2c59e.png

图片来源:pexels.com/@digitalbuggu

请快速说出以下代码的功能:

for i in range(n): for j in range(m): for k in range(l):  temp_value = X[i][j][k] *12.5 new_array[i][j][k] = temp_value+ 150

很难,对吧?要想对这段代码进行修改或调试,除非知道作者在想什么,否则将难以实现。即使是作者本人,在编写这段代码几天后也会忘记其用途,因为变量名和“魔数”(magic numbers)并不能帮助记忆代码的功能。

什么是魔数:https://en.wikipedia.org/wiki/Magic_number_(programming)?source=post_page---------------------------#Unnamed_numerical_constants

使用数据科学代码时,类似于上面(或者更糟)的示例很常见:代码中含有如x、y、xs、x1、x2、tp、tn、clf、reg、xi、yi、ii这样的变量名和许多未命名的常量值。坦率地说,数据科学家(包括本人)并不擅长于命名变量。

很多人经历过从为一次性分析编写研究导向的数据科学代码到编写生产水平代码的过程,所以不得不摒弃从数据科学书籍、课程和实验室中获得的实践来改进编程方式。可实际应用的机器学习代码与数据科学家的编程方法有许多不同之处,但本文将从两个影响力较大的常见问题开始:

· 无用的/混淆的/不明确的变量名

· 未命名的“魔幻”常数

这两个问题都导致了数据科学研究(或Kaggle项目)和生产机器学习系统之间的脱节。是的,你可以在只运行一次代码的Jupyter Notebook中侥幸逃脱这些问题,但是当任务中关键的机器学习管道需要每天准确无误地运行数百次时,编写可读以及可理解的代码就十分必要了。幸运的是,数据科学家可以采用软件工程中的最佳实践,本文也将对其进行介绍。

注意:本文主要讨论Python,因为它是目前为止工业数据科学中应用最广泛的语言。在Python中:

· 变量名/函数名小写并且用下划线隔开

· 命名常数的名称全部大写

· 类的名称采用驼峰式大小写命名规则

b416597cdb56f10e0ac824f687836a28.png

命名变量

命名变量时要记住三个基本原则:

1. 变量名必须描述变量所表示的信息。变量名应该用词明确,来体现变量代表的内容。

2. 代码读取的次数将多于编写的次数。所以优先考虑代码的可读性而不是编写速度。

3. 采用标准的命名规范,才可以做出一个全局决策,而不是做出多个局部决策。

在实践中又如何呢?下面对变量名进行一些改进:

· x和y。如果多次阅读了解的话会知道它们是特性和目标,但是对于阅读代码的其他开发人员来说,这可能并不明确。相反,要使用可以描述这些变量含义的名称,如house_features和house_prices。

· value。value代表什么?它可以是velocity_mph, customers_served, efficiency, revenue_total。像value这样的名称并不能体现变量的用途,而且容易混淆。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值