我作为初级开发人员犯的编码错误(我作为初级开发人员犯的编码错误怎么办)

希望您在第一份工作编写代码时都遇到困难

我作为初级开发人员犯的编码错误(我作为初级开发人员犯的编码错误怎么办)

> Photo by Atul Choudhary from Pexels

您在软件工程或数据科学领域的第一份工作可能会使人士气低落。 特别是如果您没有后台编写代码。

我经常收到人们的信息,要求他们提出改进建议。 但是他们真正需要的是有人告诉他们-"您可以做到!"

以下是我在第一份软件工程工作中亲自犯的错误。 如果您遇到困难,这应该会让您感觉更好。

1.编写比可读代码更聪明的代码

编写好的代码很难。 了解错误的代码更加困难。 但这刚开始时并不直观。

值得庆幸的是,我有一个高级开发人员,他不止一次地就以下几点提出了建议。

· 同一行上有多个嵌套的if / else语句

· 过多使用链式方法

· 正则表达式从堆栈溢出复制/粘贴而没有评论

· 过度抽象

将逻辑压缩到尽可能小的空间,让我感到很聪明。 但这也使我的代码不可读。 现在,我总是尝试在可读性方面犯错误。

调试的难度是一开始编写代码的两倍。 因此,如果您尽可能聪明地编写代码,就定义而言,您就不够聪明,无法对其进行调试。-克尼根定律

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

想出好的变量名非常困难,我想尽快完成票证。

因此,我选择突然出现的名字。

· 用户的姓氏变为uln。

· 一系列电子邮件变成了阵列。

两者都是不好的主意,这使任何人都很难理解我写的内容(包括我自己)。

3.允许安全漏洞

在另一种情况下,我要感谢一位出色的高级开发人员,他将我的代码免于遭到黑客攻击。

我已完成以下所有操作:

· 允许SQL注入

· 允许通过URL跳转访问受限页面

· 仅使用前端验证

· 具有增量ID的命名空间URL

建立了一份关于最佳安全实践的心理检查清单花了很长时间,我现在在检查其他开发人员的代码时会使用该清单。

4.阅读功能票后立即编写代码

花一个星期花在某个功能上,然后意识到它的错误功能令人尴尬。 我已经完成了不止一次。

屏住呼吸,了解业务问题,并为之计划代码对工程师来说是一个巨大的乘数

从中学到的东西,我让我自己的启动中的新开发人员在开始之前详细计划票。 此级别的微型计划有助于理清思路并开发更有效的解决方案。

5.评论太多或太少

一开始我什么也没评论。

然后,我经历了一个阶段,对每一行进行评论。 一个名为add_two_numbers的方法将被注释为#,将两个数字相加。 这太多了。

回想起来,直到我阅读了其他开发人员编写的足够的代码并注意到我希望他们添加注释的位置后,才单击正确的注释数量。

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

我已完成以下所有操作:

· 应用程式中已存在的书面功能

· 左自动生成但未使用的文件(即:测试文件)

· 添加了未使用的软件包

一些框架会自动生成许多不必要的文件。 当您开始使用应用程序时,您也不知道所有现有代码。

有趣的是,我发现避免这些问题的最佳方法是先仔细阅读您详细编写的代码,然后再提交进行审核。

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

当我开始第一份工作时,我对数据库一无所知。 我大概花了一年时间才弄清楚数据库索引。

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

两者都是令人讨厌的缓慢应用程序的配方。

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

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

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

if x is true do this

else do that

但是我为自己的投资组合编写的第一个应用程序充满了这样的逻辑。

do this

if this fails do that

有时我们需要挽救错误,例如遇到不可靠的API时。 但这应该是例外,而不是常规。

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

我学到的第一件事是不在同一个请求请求中合并多个功能。 审核代码的人不好。

超过几百行可能会使其他人很难在精神上走过不同的执行路径。

有时,这是票证范围不佳的结果。 因此,我总是告诉新开发人员,如果他们认为可以将票证进一步细分为子票证,则应推迟。 越小越好。

结论

学习编写软件非常困难。 您只能通过做中学到一百个动人的作品。

我希望阅读有关我的摸索的文章能使您在挣扎中感到更好。

对我最大的帮助是让一位高级开发人员对我提交的每段代码都提供了详细的反馈。 找到可以得到的公司/团队。 这是最快的改进方式。

(本文翻译自Chris的文章《Coding Mistakes I Made As A Junior Developer》,参考:https://towardsdatascience.com/coding-mistakes-i-made-as-a-junior-developer-e151dd3b3c7d)

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

(0)
上一篇 2024年5月14日 上午9:56
下一篇 2024年5月14日 上午10:08

相关推荐

  • 工程项目管理软件的作用

    工程项目管理软件的作用 工程项目管理软件是一种用于管理工程项目的软件工具,能够帮助项目经理和项目团队更好地规划和执行项目任务。本文将介绍工程项目管理软件的作用,以及如何使用这些软件…

    科研百科 2024年7月23日
    2
  • 程序员学Python还是Java-分析了8张图后得出这个结论

    专注于Java领域优质技术号,欢迎关注 Java和Python两门语言都是目前非常热门的语言,可谓北乔峰南慕容,二者不分上下,棋逢对手。但是对于初学者来说,非常困惑,因为时间和精力…

    科研百科 2024年5月16日
    44
  • 统计局科研项目申报

    统计局科研项目申报 随着社会经济的不断发展,统计局在统计调查、数据分析等领域发挥着越来越重要的作用。同时,随着科技的进步,统计局也需要不断创新,提高数据处理和分析方法的科学性和规范…

  • 独立游戏开发

    独立游戏开发:探索游戏制作的奇妙之旅 独立游戏开发是游戏行业中最受欢迎的趋势之一。对于那些想要创建自己的游戏或者想要挑战自己的人来说,这是一项充满机遇和挑战的工作。在这篇文章中,我…

    科研百科 2024年11月9日
    0
  • 学位论文科研项目支撑

    学位论文科研项目支撑: 人工智能在医疗领域的应用研究 摘要: 人工智能在医疗领域的应用研究已经成为当前研究的热点。本文主要介绍了人工智能在医疗领域的应用,包括人工智能辅助诊断、人工…

    科研百科 2025年4月4日
    2
  • 科研能力包括哪些方面_(教育科研能力包括哪些方面)

    感谢您关注“永大英语”! 小学英语教师教育科研的实证研究樊彦清 王托兄 摘要:教育科研是提高教育教学质量的先导,是促进教师专业化发展的根基。本文以教育科研意识、教育科研理论知识、教…

    2022年5月12日
    890
  • 科研项目管理工作职责(科研项目管理工作内容有哪些)

    科研项目管理工作内容有哪些 科研项目管理工作是科研项目管理中至关重要的一部分,涉及到项目计划、进度控制、成本预算、风险管理、质量控制等多个方面。以下是一些科研项目管理工作的内容: …

    科研百科 2024年4月4日
    79
  • cis科研项目成都校区

    cis科研项目成都校区 随着信息技术的不断发展,cis(Customer Information System)科研项目已经成为企业数字化转型的重要方向之一。cis科研项目成都校区…

    科研百科 2025年3月11日
    1
  • 科研项目现场查定意见

    科研项目现场查定意见 随着科技的不断发展,科研项目已经成为了现代社会中不可或缺的一部分。然而,在项目进行过程中,常常会出现一些问题,例如设备故障、数据不准确、研究方向不符合预期等等…

    科研百科 2025年4月17日
    1
  • 信息系统项目管理师 csdn

    信息系统项目管理师 CSDN 随着信息技术的不断发展,信息系统项目管理师这个职位也逐渐被人们所关注。作为一个负责项目计划、执行、控制和评估的专业人员,信息系统项目管理师在信息技术领…

    科研百科 2025年1月24日
    1