0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

盘点初级开发人员常犯的编程错误,增加更多的面试机会

如意 来源:读芯术微信公众号 作者:读芯术微信公众号 2020-10-19 15:23 次阅读

想要找到编程类工作,首先你需要拥有Git存储库,这是招聘者首先要考虑的问题之一。为了拥有一个看起来不错的存储库,你应该有定期操作,提供可用项目的实时版本,并且只显示你引以为傲的几个项目,而不是编写过的每一行代码。

这些是存储库维护的基础知识,迟早会有人查看你的代码,以检查你是否适合该公司。招聘者会在几分钟内决定邀请你参加面试是否值得。这既是好消息,也是坏消息。

坏消息是一个明显的错误会让你失去找到工作的机会;好消息是人们并不想深入研究你的代码。他们希望对你的代码和体系结构有一个大概的了解,你不必聪明绝顶,只要能很好地完成任务即可。

下面是一些初级开发人员常犯的错误。如果能避免犯这些错误,你将获得更多的面试机会。

过时的注释

程序员对注释的看法不一。我们难以就是否或何时对代码进行注释达成一致,但是大家都赞同一件事:如果你注释了,它应与你的代码对应。

注释是用来解释代码的。当你编写了一些复杂或不清楚的代码时,注释可以帮助读者理解它们。但要记住,如果你修改了代码,就要相应修改注释。否则注释将不会帮助人理解而是使人产生误解,没有比误导更糟糕的编程错误了。一个错误的注释比没有注释更糟糕。

更糟糕的是,代码中的注释非常突出。现代IDE赋予注释不同于其他代码的颜色,并且注释更容易被发现。添加注释,代码中就会添加“自述”符号。所以,注释和代码之间的任何差异都很容易被发现。明智地选择你的注释,记住随着代码的更新也要更新它们。

使用相同的用例结合库和语言

在我第一次面试之前,我需要先完成一个招聘任务。那是一个简单的web应用程序,所以我编写了一些代码,在google上搜索了对于一些更棘手部分的解决办法,然后就完成了应用程序的编写。

在面试中,招聘者问我为什么在代码中混用jQuery代码和纯JavaScript代码,我无从作答。事实是,我粘贴了一些的代码片段,没有多加思考,看到代码正常运作后,我就继续下一步任务了。

这种错误在初级开发人员中很常见。我们太专注于解决任务,以至于没有花时间去考虑我们正在做的内容。不要掉进这个新手陷阱,记得检查每一行代码来确保你知道为什么要把它放在那里。

重复代码

不要写重复的代码(DRY)是编程的法则。为重复码创建抽象机制是编程的本质。但刚开始的时候,这往往很有挑战性。你想解决问题,所以尽你所能去做。然后继续执行其他任务,就会一直编写重复代码。相信我,你可以做得更好。

尽早养成好习惯。每当你完成一个功能时,重新阅读代码,思考是否有机会重构某些东西。记住,代码的第一个版本是有缺陷的,你需要去改进它。

另外,当你在处理其他功能时,请花时间分析重复代码。你几乎发现总能有重写它的余地(例如,使用一个循环或创建一个新函数)。如果每次都这样自我改进,你会编写出更稳健、更优雅的代码。

没有错误处理

几乎不可能构建任何有意义且总能完美地运行的应用程序。无论是将数据放入数据库还是进行API调用,都会发生错误。未经处理的错误不仅会阻止单个函数的执行,甚至会使整个应用程序崩溃。

对可能出现的错误的预期是一个称职程序员的标志。只要在访问或更新一些外部数据,就必须为最坏的情况做好准备。处理潜在的错误可以使你的应用程序更强大,同时也使未来的开发人员(可能是你自己)快速发现错误。这向招聘者展示了你对代码的整体考虑。

缺乏一致性

一致性是优秀软件的标志。它使代码更易于阅读和维护。统一的代码更容易预测,也更容易推理,所以你应该尽可能地做到这一点。在更高级别的抽象机制上,一致性很难实现。掌握它需要很多年,你应该尽早开始学习。

记住,只用一种语言来命名事物。通常是英语,但在个人项目中,你可以用任何想要的语言命名变量和函数,只要保证它一直是同一种语言即可。

如果你使用的是制表符或空格都没关系,只要保持一致的即可。因为使用骆驼案或蛇案都是一样的。这两个都很棒,但你得选一个。你需要创建或选择一个风格指南并一直坚持使用下去。你也应该使用像Prettier这样的工具,这是专业环境中的一个标准,这使保持一致的代码格式易于管理。

无论使用什么工具和风格,都要让它们成为你的第二天性。即使是错误千篇一律的代码通常也比不一致的正确代码好,因为它更容易修复。

缺乏对工具的了解

在典型的项目中,需要相当快地使用一些外部库。许多程序员几乎自动安装一些库,因为它们在每个项目中都使用。

外部库之所以很棒,是因为它们用行之有效的方法解决反复出现的问题。然而,初级开发人员通常不了解他们正在使用的库,最终将一个库堆叠在另一个库上,或者重新实现一些现有功能。

对于现代web开发,最常见的误解可能是在每个React项目中都使用Redux。尽管Redux有一些用例,但在大多数小项目中,使用React就足够了。

每次在项目中安装库时,请阅读或者浏览文档。检查可以使用的方法和属性,确保你了解库可以解决哪些问题,哪些问题需要不同的工具。这样你就可以为工作选择合适的工具,并证明你的选择是正确的。

避开这些新手陷阱,能让你的面试入选率大幅提升。
责编AJX

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 编程
    +关注

    关注

    88

    文章

    3617

    浏览量

    93769
  • 汇编语言
    +关注

    关注

    14

    文章

    410

    浏览量

    35825
  • 源代码
    +关注

    关注

    96

    文章

    2945

    浏览量

    66767
收藏 人收藏

    评论

    相关推荐

    【科普系列】LIN协议错误类型介绍

    了解 LIN总线的错误类型对于开发、测试均具有极大的好处。通过对错误类型的全面了解,开发人员可以提前预测和避免潜在的问题,增强系统的稳定性、容错能力和安全性,从而提升系统整体的可靠性和
    的头像 发表于 01-02 17:27 325次阅读
    【科普系列】LIN协议<b class='flag-5'>错误</b>类型介绍

    MSPDebugStack开发人员指南

    电子发烧友网站提供《MSPDebugStack开发人员指南.pdf》资料免费下载
    发表于 12-05 14:49 0次下载
    MSPDebugStack<b class='flag-5'>开发人员</b>指南

    socket编程中的错误处理技巧

    Socket编程是网络编程的基础,它允许程序之间通过TCP/IP协议进行通信。然而,网络通信是不稳定的,可能会遇到各种问题,如网络延迟、连接中断、数据丢失等。 错误处理的重要性 提高程序的健壮性
    的头像 发表于 11-01 17:47 874次阅读

    Node-Red可视化编程:简化开发的创新之选

    Node-Red 是构建物联网 (IOT Internet of Things) 应用程序的一个强大工具,其重点是简化代码块的“连接 ” 以执行任务。它使用可视化编程方法,允许开发人员将预定义的代码块 (称为“节点 ”,Node) 连接起来执行任务。
    的头像 发表于 09-21 10:37 313次阅读
    Node-Red可视化<b class='flag-5'>编程</b>:简化<b class='flag-5'>开发</b>的创新之选

    C2000 ePWM开发人员指南

    电子发烧友网站提供《C2000 ePWM开发人员指南.pdf》资料免费下载
    发表于 09-07 09:45 0次下载
    C2000 ePWM<b class='flag-5'>开发人员</b>指南

    《软件开发珠玑》+60条戒律

    包含需求、设计、项目管理、文化和团队合作、质量、过程改进6个方面的内容,提供了丰富、实用的工具和方法。当开发人员更好的理解了需求时,便能够从用户的角度触发思考更优秀的解决方案。从这点来看,每个软件开发人员或团队应人手一份这本书,充分能够提高个人和团队的技术素质,对个人对社
    发表于 06-24 19:27

    OpenAI API Key获取:开发人员申请GPT-4 API Key教程

      OpenAI的GPT-4模型因其卓越的自然语言理解和生成能力,成为了许多开发者的首选工具。获取GPT-4 API Key并将其应用于项目,如开发一个ChatGPT聊天应用,不仅是实践人工智能技术
    的头像 发表于 06-24 17:40 2397次阅读
    OpenAI API Key获取:<b class='flag-5'>开发人员</b>申请GPT-4 API Key教程

    嵌入式开发就业前景怎么样?

    。在智能家居领域,嵌入式开发的主要工作是开发各种智能化设备和系统,如智能照明、智能安防、智能家电等。嵌入式开发人员需要掌握相关的硬件和软件技术,如处理器、传感器、通信技术、操作系统等,同时也需要具备
    发表于 06-07 14:51

    三星停止自动驾驶研究,开发人员转到机器人领域

    近日,三星电子宣布了一项重要的研发战略调整。据业内人士透露,三星先进技术研究院(SAIT)已决定停止自动驾驶汽车的研究,并将这一领域的开发人员转移到机器人领域。
    的头像 发表于 05-13 09:21 442次阅读

    阿里云全面推行AI编程,使用通义灵码辅助开发者编写代码

    据部分阿里云员工称,尽管将来20%的代码可能由自动生成,但开发人员仍将是研发任务中的核心成员,更专注于系统设计及核心业务研究。
    的头像 发表于 04-02 15:55 652次阅读

    # FPGA 编程如何工作?

    的构建块。逻辑门对输入和输出数据执行布尔运算。还有将信号从一点路由到另一点的路由资源。 FPGA 编程用例 FPGA 编程对现代世界的开发人员非常有吸引力。 以下是一些用例; =#1.= 设计 ASIC
    发表于 03-30 11:50

    MWC2024亮点 爱立信旗下Vonage携手AWS加速向数百万开发人员提供新的解决方案

    开发人员提供新的解决方案。 推动跨行业新应用 近日,AWS工业副总裁Kathrin Renz表示:“AWS和Vonage在帮助客户实现创新和价值方面有着共同的热情。 我们与Vonage合作的目标是推动
    的头像 发表于 02-29 09:42 1.2w次阅读

    现在学鸿蒙有前途吗?能找到工作?

    人群还有: 0基础、初级鸿蒙生态、应用开发人员 面临职业困境的前端、Java开发人员 想晋升的Android或iOS开发人员 而且鸿蒙作为全新的操作系统,
    发表于 02-18 21:32

    NECTO Studio 6.0赋能开发人员使电路充满活力

    MIKROE增加了图形功能,CLANG支持ARM和RISC-V以及许多其他功能   2024 年2月4日 :作为一家通过提供基于成熟标准的创新式硬软件产品来大幅缩短开发时间的嵌入式解决方案公司
    发表于 02-04 09:33 405次阅读
    NECTO Studio 6.0赋能<b class='flag-5'>开发人员</b>使电路充满活力

    盘点PCB设计中的常见错误

    搞技术,难免存在错误,只有经历过错误,才能更快地成长。PCB设计也一样,今天就来盘点一下PCB设计中最常见的错误
    的头像 发表于 01-12 09:53 1418次阅读
    <b class='flag-5'>盘点</b>PCB设计中的常见<b class='flag-5'>错误</b>