如何让自己看起来不像编程菜鸟?别犯这9个编程错误

简介:

云栖号资讯:【点击查看更多行业资讯
在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来!


在我们刚开始走进IT行业时,写代码总会战战兢兢,不断地向前辈大神请教,经过反复确认之后才敢发布代码,发布代码后也会时不时看后台,会不会产生BUG......

下面我来列举一些我作为一个菜鸟时,经常犯的一些错误,希望能帮助大家及早改正,早日成为编程老鸟。

1.代码没有可读性

写好代码很难,但是理解错误的代码更难。虽然在我们刚入行的时候,这个体现得不是很直观。

下面是我整理的一些关于代码可读性上的关键错误,千万别犯了。

  • 同一行代码上有多个嵌套的 if/else 语句
  • 过度使用链式方法
  • 从堆栈溢出复制/粘贴正则表达式,不带注释
  • 过度抽象

虽然我们应该把逻辑压缩到最小,但这也会让我们的代码变得不可读。即使是一些编程老鸟,在可读性方面也会经常犯错误。

调试代码的难度是编写代码的两倍。因此,如果你花了大量的时间和精力编写了很漂亮但不可读的代码。根据定义,那就是你还不够聪明,无法调试它。--克尼根定律

2.使用没有上下文的变量名

想出好的变量名很难,为了快速完成工作,我们经常起一些事后很难回想起来的变量名。

例如,

  • 用户的姓名写成uln;
  • 很多电子邮箱写成了阵列。

两种做法都不好,这会让很多人理解不了我写的代码,其中就包括我自己。

3.允许安全漏洞

为了让我们的代码免于遭到黑客攻击,我们应该反复检查代码,是否有以下错误操作:

  • 允许SQL注入
  • 允许通过URL跳转访问受限页面
  • 仅使用前端验证
  • 具有增量ID的命名空间URL

在检查安全漏洞时往往会花很多时间来排查漏洞源,我现在在检查其他开发人员的代码时会着重检查以上4项,赶紧回去检查一下自己的代码里有没有这些安全漏洞!

4.拿到需求后立即开始写代码

如果我们这样做了,后果往往是做无用功。花大量的时间在这个功能上,然后发现这个方向就是错误的。

对于程序员来说,我们应该深呼吸静下心来,先理解业务问题并围绕它来规划代码才是正确的做法。

现在,我一般都会让新手程序员,在开始写代码之前,必须详细地了解需求,做出规划。这种规划有助于理清思路,制定更有效的解决方案,从而避免浪费时间做无效功。

5.注释太多或太少

刚开始工作时,我不会对代码进行注释。

然后,我经历了一个阶段:对每一行代码都添加注释。 一个名为add_two_numbers的方法被注释为#将两个数字相加。 这明显是多余的操作。

现在回想起来,当我看了很多其他开发人员编写的代码时,并注意到他们添加注释的位置后,才真正规范地添加正确的代码注释。

6.推送重复和未使用的代码

我曾经做过这些傻事:

  • 已存在于应用程序中的编写函数
  • 保留自动生成但未使用的文件(即:测试文件)
  • 添加了没有用的包

有些框架会自动生成许多没用的文件,换句话说,就是当你开始用app时,你也不知道现有代码会生成什么东西出来。

后来,我发现避免这些问题的最佳方法,就是在提交代码前,仔细阅读我们编写的代码,那么你就能够快速找到问题所在。

7.编写低效的数据库查询

我的第一份工作,对数据库一无所知。我大概花了一年时间才计算出数据库索引。

那时我写了很多N+1查询,创建了db表来存储大量没有索引的数据。

这两个都是运行缓慢,让人厌烦的APP都会用的数据库查询索引。

8.使用基于错误的条件逻辑

条件 if / else 语句是软件的核心部分。

在伪代码中,它们通常看起来像这样。

1

但是在我参与编写的第一个APP中,用了这样的逻辑:

2

当我们遇到不可靠的API时,就需要挽救错误,虽然这只是例外。

9.提交包含多个功能的代码以供审核

在工作中,我学到的第一件事就是不要在同一个审批请求中合并多个功能。这对审查代码的人很不友好。

超过几百行的代码,会让人很难集中精神看完那么多功能模块。

我经常跟新人说,如果他们认为一个功能可以进一步细分,那么我们就要后退一步,把它分得越小越好。

结论

学习编程是很难的一件事。你只能通过实践来学习多种写代码的技巧。

不知道你看了我犯过的编程错误有什么感想?

在我们的IT职业生涯中,总有那么一个大神,帮助我们,把我们提交的每一段代码给出详细的反馈,我们才能一边犯错,一边成长。

以上是本文的所有内容,希望能给编程新人一些帮助!

【云栖号在线课堂】每天都有产品技术专家分享!
课程地址:https://yqh.aliyun.com/live

立即加入社群,与专家面对面,及时了解课程最新动态!
【云栖号在线课堂 社群】https://c.tb.cn/F3.Z8gvnK

原文发布时间:2020-05-27
本文作者:为AI呐喊
本文来自:“cocoachina”,了解相关信息可以关注“cocoachina”

相关文章
|
3月前
|
数据处理 Python
【编程入门必读】Python数据类型大揭秘:掌握这些,让你的代码瞬间高大上!
【8月更文挑战第22天】Python提供多样数据结构支持编程需求。基本数据类型如数值(整型、浮点型、复数)、布尔型、字符串;复合数据类型含列表(有序、可变)、元组(有序、不可变)、字典(键值对)、集合(无序、唯一元素)。还有特殊类型如`NoneType`和`range`。Python内置数据类型转换如`int()`, `float()`, `str()`等方便使用。掌握这些类型有助于编写高效Python代码。
30 0
|
3月前
|
存储 Python
【编程神技】Python函数修炼秘籍:从菜鸟到高手只需这几个案例!
【8月更文挑战第22天】Python函数是组织与重用代码的关键,通过定义与调用函数可以使程序更加清晰。例如,定义`add_numbers(a, b)`来计算两数之和,或使用递归来定义`factorial(n)`计算阶乘。Python还支持可变参数列表如`sum_numbers(*args)`以及带有默认值的关键字参数如`greet(name, greeting="Hello")`,这些特性让函数更加灵活强大。掌握这些技巧能显著提升编程效率与代码质量。
17 2
|
6月前
|
程序员 开发工具 Python
最全学Python有什么用?看完这些你肯定明白_学pysion的作用,2024年最新字节跳动面试严格吗
最全学Python有什么用?看完这些你肯定明白_学pysion的作用,2024年最新字节跳动面试严格吗
最全学Python有什么用?看完这些你肯定明白_学pysion的作用,2024年最新字节跳动面试严格吗
|
6月前
|
前端开发 JavaScript 调度
小型的编程项目有哪些值得推荐?这本神书写了 22 个,个个了不得
小型的编程项目有哪些值得推荐?这本神书写了 22 个,个个了不得
58 1
|
6月前
|
算法 程序员 C语言
【高效编程技巧】编程菜鸟和编程大佬的差距究竟在哪里?
【高效编程技巧】编程菜鸟和编程大佬的差距究竟在哪里?
59 0
|
人工智能 运维 算法
和想要通过学习 Python 转行的同学聊一聊
来编程教室的求职者大概都想知道:学Python到底适不适合转行?这个问题也不好回答,因为转行成功的案例绝对不少,但是我从没见过有哪个程序员只会一种语言。Python的优点是,它很适合入门。
|
JavaScript 前端开发 C语言
聊一聊编程中的函数
聊一聊编程中的函数
75 0
|
JavaScript 小程序 前端开发
小程序开发-第二章第五节小程序中的Promise-全栈工程师之路-中级篇
小程序开发-第二章第五节小程序中的Promise-全栈工程师之路-中级篇
174 0
小程序开发-第二章第五节小程序中的Promise-全栈工程师之路-中级篇
|
Rust Java 机器人
是 Rust 太难了,还是主流编程本来就这么折磨人?
本文作者在文章的前部分用了大量笔墨详细描述了自己尝试 Rust 受挫的经历,后半部分分析了 Rust 的问题及发展。自发布以来,这篇文章在 r/rust 上得到了 500 多个赞,在 HN 上有 700 多条评论。我们将其翻译出来,以飨读者,也希望大家可以理性讨论。
536 0
是 Rust 太难了,还是主流编程本来就这么折磨人?
下一篇
无影云桌面