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

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

3天内不再提示

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

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

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

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

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

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

过时的注释

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

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

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

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

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

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

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

重复代码

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

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

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

没有错误处理

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

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

缺乏一致性

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

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

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

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

缺乏对工具的了解

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

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

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

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

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

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

    关注

    88

    文章

    3438

    浏览量

    92316
  • 汇编语言
    +关注

    关注

    14

    文章

    404

    浏览量

    35185
  • 源代码
    +关注

    关注

    94

    文章

    2923

    浏览量

    66047
收藏 人收藏

    评论

    相关推荐

    开关电源开发人员必看

    电子发烧友网站提供《开关电源开发人员必看.pdf》资料免费下载
    发表于 11-08 15:41 0次下载
    开关电源<b class='flag-5'>开发人员</b>必看

    30道Linux面试题总结

    如果你是一名开发人员、系统管理员,或是仅仅对 Linux 感兴趣,那么这个列表是为你准备的。它包含了类 Unix 系统管理或编程职位面试中涉及 Linux 相关的所有常见问题。
    发表于 10-27 15:29 732次阅读
    30道Linux<b class='flag-5'>面试</b>题总结

    Zynq UltraScale+ MPSoC软件开发人员指南

    电子发烧友网站提供《Zynq UltraScale+ MPSoC软件开发人员指南.pdf》资料免费下载
    发表于 09-15 10:16 8次下载
    Zynq UltraScale+ MPSoC软件<b class='flag-5'>开发人员</b>指南

    Versal ACAP系统软件开发人员指南

    电子发烧友网站提供《Versal ACAP系统软件开发人员指南.pdf》资料免费下载
    发表于 09-13 15:20 0次下载
    Versal ACAP系统软件<b class='flag-5'>开发人员</b>指南

    ARM开发人员套件1.2版汇编指南

    功能是有限制的。 有关内联汇编器的更多信息,请参阅ADS开发人员指南中的混合C、C++和汇编语言一章。 这本书的其余部分主要是关于手臂的。
    发表于 09-01 10:41

    ARM Mali-T600系列GPU OpenCL开发人员指南

    。 GPU被设计为同时执行多个线程。 它们并行运行包含相对较少控制代码的计算密集型数据处理任务。 GPU通常包含比应用程序处理器多得多的处理元素,因此计算速度比应用程序处理器高得多。 OpenCL是第一种开放标准语言,使开发人员能够在GPU、应用程序处理器和其他类型的处理器上运行通用计算任务。
    发表于 08-24 07:07

    ARM开发人员套件1.2版开发人员指南

    本书包含的信息将帮助您解决为基于ARM的处理器开发代码时的特定问题。 一般来说,本书中的章节假定您正在使用ARM开发人员套件(ADS)来开发代码。 ADS由一套应用程序以及支持文档和示例组成,使您能
    发表于 08-23 07:29

    GitHub陆续封杀位于“美国贸易制裁国家”的开发人员

    Github 陆续封杀受美国制裁的国家或地区的开发人员账户,如果你在遭受美国制裁的国家/地区使用GitHub的在线服务,只能享用最基本的服务。
    的头像 发表于 08-21 10:34 519次阅读
    GitHub陆续封杀位于“美国贸易制裁国家”的<b class='flag-5'>开发人员</b>

    ARM GPU最佳实践开发人员指南

    我们的指南提供了在为Arm Immortalis和Mali GPU开发时如何优化应用程序的建议。这些建议是为那些希望开始使用Arm GPU的成熟开发人员准备的。
    发表于 08-10 06:58

    UM-B-101:DA14585 IoT 多传感器开发套件开发人员指南

    UM-B-101:DA14585 IoT 多传感器开发套件开发人员指南
    发表于 07-05 20:59 0次下载
    UM-B-101:DA14585 IoT 多传感器<b class='flag-5'>开发</b>套件<b class='flag-5'>开发人员</b>指南

    UM-B-056:DA1468x 软件开发人员指南

    UM-B-056:DA1468x 软件开发人员指南
    发表于 07-05 20:36 0次下载
    UM-B-056:DA1468x 软件<b class='flag-5'>开发人员</b>指南

    IzoT BACnet 开发人员指南

    IzoT BACnet 开发人员指南
    发表于 07-04 20:48 0次下载
    IzoT BACnet <b class='flag-5'>开发人员</b>指南

    新处理器使开发人员能够实现自定义指令并添加加速器

    Bluespec 宣布推出新的MCUX RISC-V处理器,使开发人员能够轻松实现自定义指令,并为FPGA和ASIC添加加速器。MCUX是Bluespec的MCU RISC-V处理器系列的扩展,该系
    的头像 发表于 07-04 11:05 371次阅读

    通过使用AI改善开发人员体验的13种令人印象深刻的方法

    在当今快速发展的技术环境中,人工智能 (AI) 正在全面改变行业,软件开发也不例外。AI 可以通过简化流程、自动执行重复性任务以及使开发人员能够构建创新应用程序来显著增强开发人员体验。
    发表于 06-09 09:24 490次阅读

    严肃编码人员的10条低代码规则

    使用低代码平台的 UI 开发人员或后端开发人员应该能够开发完整的应用程序,例如 SQL、JS/Java 和零 DevOps 的基本知识,并转变为全栈开发人员。以Java世界为例,
    的头像 发表于 05-04 11:56 699次阅读