当前位置: 首页 > 科技观察

常见的编码错误,如果你不避免它们,你就完了_0

时间:2023-03-15 22:40: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(应用代码验证)。现代集成开发系统(IDE)也有可能解决这个问题。有时需要安装插件,有时直接安装即可。4.一个函数做的太多根据单一职责模式,一个函数应该只负责做一件事,而且只能做一件事。笔者见过太多集数据获取、处理和呈现三个功能于一身的功能。最好把这个函数分开,一个函数获取数据,一个函数处理数据,另一个函数显示数据。一个函数只关注一件事很重要,因为它可以使它运行得更稳健。例如,从API(应用程序编程接口)获取数据。如果API发生变化——例如,出现新版本——如果属于同一个函数,则处理代码中断的风险更大,这也可能导致数据显示中断。5.硬编码硬编码是将数据直接嵌入到程序或其他可执行对象的源代码中的软件开发行为,而不是从外部获取数据或在运行时生成数据。不允许更改硬编码值;它们是固定值。硬编码被视为一种反模式,或者至少是错误代码的标志。无论出于何种(有时甚至是有效的)原因,最硬编码的东西是密码和文件位置。人们看到的许多硬编码密码场景都是为了对外部服务或API进行身份验证。这些证书通常是硬编码的,但这不是一个好的做法。如果你发现自己硬编码了很多东西,你真的应该仔细看看你写的代码,因为大多数时候这不是解决问题的好方法。6.注释掉代码人们看到过包含多个函数的代码块被注释掉了。没有人知道它为什么还在那里,也没有人知道这段代码是否仍然有意义。然而,没有人会删除这段代码,这才是开发人员真正应该做的。没有人删除此代码的原因是因为每个人都认为其他人可能会使用它。只需删除那段注释掉的代码即可。即使代码不在新版本中,如果有人想使用它,代码在版本控制中仍然可用。但这只是作者个人的看法。