加入收藏 | 设为首页 | 会员中心 | 我要投稿 52站长网 (https://www.52zhanzhang.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 编程要点 > 资讯 > 正文

常见的编码错误,再不避开就完了!

发布时间:2021-11-03 23:50:50 所属栏目:资讯 来源:互联网
导读:犯错乃人之常情。 然而,开发人员所犯的许多错误是可以避免的。如果能避免本文提到的这些常见错误,就能写出更好、更简洁的代码。 这不仅于自身有利,对那些需要查看代码的其他开发人员也有利。所以避开常见错误不仅仅是为自己也是帮了团队一个大忙。 综上所
犯错乃人之常情。   然而,开发人员所犯的许多错误是可以避免的。如果能避免本文提到的这些常见错误,就能写出更好、更简洁的代码。 这不仅于自身有利,对那些需要查看代码的其他开发人员也有利。所以避开常见错误不仅仅是为自己——也是帮了团队一个大忙。       综上所述,小芯这次为大家整理了一系列应避免的常见错误:   1. 变量的非描述性命名   好的变量名称非常重要,再怎么强调也不为过。很多时候,你不是唯一一个项目开发人员,其他开发人员也需要了解你编写的代码。   选择好的名字需要时间,但可以节省更多的时间。   2. 幻数和字符串   接着上文变量的非描述性命名,跳到下一项,该项关于不给变量赋值,也被称为幻数或魔法字符串。   维基百科定义: 幻数是唯一值,具有无法解释的意义且多次出现,可以而且应该被命名常量替换。   来看看下面的代码片段:   for ($i = 1; $i <= 52; $i++) {      ...  }  该例中的数字52就是一个幻数。没有人明白为什么有52这个数字及其代表什么。为什么是52?为什么不能是64?这些是一年中的星期总数吗?   更明晰的方法是:   $cardDeckSize = 52;for ($i = 1;$i <= $cardDeckSize; $i++) {      ...  }  现在每个人都会明白这是在循环一副纸牌。该代码给其他开发人员提供了语境。除此之外,更改数值更容易,因为值只在变量中存储一次,不会重复。   幻数经常在程序的不同位置多次使用,因此容易出错。   对于字符串来说也是如此,可采用同种方法:   if (userPasswordIsValid($user,"6yP4cZ".$password)) {      ...  }  6yP4cZ是什么?似乎非常随意。   $salt = "6yP4cZ";if(userPasswordIsValid($user, $salt.$password)) {      ...  }  啊哈,现在就说得通了!   3. 代码格式混乱   混淆代码的格式通常是那些没有丰富编程经验的人才会犯的。如果问有着多年经验的开发人员,问他们是否认识一个测试人员或数据科学家混淆过代码格式,他们可能都会点头。这是由于缺乏经验——除非使用像Python这样的编程语言,可以避免很多此类失误。   解决格式混乱最常见的方法是使用linter(应用代码校验)。现代集成开发系统(IDEs)也都有可能解决这个问题。有时需要安装一个插件,有时也可以直接完成。   4. 在一个函数中进行太多内容   根据单一职责模式,一个函数只应负责做一件事,只有一件事。笔者看到过太多函数集结了获取、处理并呈现数据三个功能。把这个函数分开处理才是好的编程,一个函数获取数据,一个函数处理数据,另一个函数显示数据。   一个函数只关注一个内容之所以重要,是因为这能让其运行更稳健。比如说,从API(应用程序接口)中获取数据。如果API有变动——例如,出现了一个新版本——那么如果处理代码同属一个函数,那么处理代码过程中断的风险就会更大,这很可能会导致数据显示也被中断。

(编辑:52站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读