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

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

3天内不再提示

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

如意 来源:读芯术微信公众号 作者:读芯术微信公众号 2020-10-19 15:23 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

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

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

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

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

过时的注释

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

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

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

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

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

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

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

重复代码

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

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

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

没有错误处理

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

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

缺乏一致性

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

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

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

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

缺乏对工具的了解

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

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

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

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

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

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

    关注

    90

    文章

    3723

    浏览量

    97437
  • 汇编语言
    +关注

    关注

    14

    文章

    413

    浏览量

    39475
  • 源代码
    +关注

    关注

    96

    文章

    2953

    浏览量

    70644
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    软件定制开发人员相关的公司有哪些

    软件
    北京华盛恒辉科技
    发布于 :2026年03月02日 20:32:34

    不懂编程,怎么搞定电子仪表上位机软件?零代码搞定上位机软件开发

    测试报告),但因为不会C、C#、Python等代码,只能依赖开发人员,不仅沟通成本高,还容易出现“需求传达偏差”,导致开发出的软件不符合实际测试场景。 源表测试软件 很多电子仪表测试人员都有过类似困扰:明明是简单的“数据采集
    的头像 发表于 01-27 17:19 738次阅读
    不懂<b class='flag-5'>编程</b>,怎么搞定电子仪表上位机软件?零代码搞定上位机软件<b class='flag-5'>开发</b>

    Nordic发布nRF7002 EBII 开发板, 支持Wi-Fi 6, 解锁nRF54L新玩法

    了 Wi-Fi 6 功能,帮助开发人员创建高性能、高能效的Wi-Fi 6 物联网解决方案。 基于 Nordic 的 nRF7002 Wi-Fi 协同 IC,nRF7002 EBII帮助 采用
    发表于 12-10 11:58

    现已上市:AMD Spartan UltraScale+ FPGA SCU35 评估套件——面向所有开发人员的经济实惠平台

    的路径。 该套件搭载了具备 I/O 扩展和板卡管理功能的 Spartan UltraScale+ SU35P 器件。其还为 AMD 成本优化型产品组合带来了多项新进展,并使开发人员能够快速启动
    的头像 发表于 11-27 10:52 618次阅读

    Bourns 深耕印度,在地设计 - Bourns 印度设计中心 为开发人员提供当地先进技术资源助力客户加速创新!

    班加罗尔 (Bengaluru) 正式成立首座设计中心。此新中心将作为以客户协作与创新为核心的研发枢纽,为当地开发人员提供完整的设计工具与技术支持,包括运用 Bourns 具业界领先地位的电源与保护组件之参考设计专业服务。 Bourns 印度设计中心采用成熟流程,协助客户快速进
    的头像 发表于 11-19 14:26 683次阅读
    Bourns 深耕印度,在地设计 - Bourns 印度设计中心 为<b class='flag-5'>开发人员</b>提供当地先进技术资源助力客户加速创新!

    恩智浦FRDM i.MX 8M Plus开发板详解

    开发高级HMI应用、计算机视觉系统以及边缘AI项目时,开发人员常常面临一个共同挑战:如何在不依赖昂贵且复杂的开发平台的前提下,获得足够的处理能力。这正是FRDM i.MX 8M Plus的价值所在,该解决方案是一款专为
    的头像 发表于 11-18 15:07 1637次阅读

    嵌入式开发的关键点介绍

    嵌入式开发在现代科技中扮演着非常重要的角色。随着物联网的发展,嵌入式系统的需求也越来越大。嵌入式开发不仅需要开发人员具备深入的硬件知识和编程经验,还需要不断学习新的技术和工具,以满足不
    发表于 11-13 08:12

    芯科科技推出智能开发工具Simplicity Ecosystem软件开发套件开启物联网开发的新高度

    开发人员现已可获得更快、更智能的工作流程 AI驱动协同版本将在2026年实现
    的头像 发表于 10-23 15:47 2911次阅读
    芯科科技推出智能<b class='flag-5'>开发</b>工具Simplicity Ecosystem软件<b class='flag-5'>开发</b>套件开启物联网<b class='flag-5'>开发</b>的新高度

    AI技术在工程设计的应用

    在不需要硬件交互的纯软件项目中,ChatGPT和Gemini等大语言模型(LLM)可以帮助程序员以前所未有的速度加速开发进程。这种辅助通常包括在开发人员编写代码时提供补全建议,或在排查错误和语法
    的头像 发表于 09-23 16:21 1075次阅读
    AI技术在工程设计的应用

    GD32的串口DMA收发数据失败怎么解决?

    还是开发人员开发该GD32的BSP时所遗漏。 GD作为国产芯片,是替代某些国外芯片的国产主力军,希望RTT开发人员能多多完善GD32的BSP。
    发表于 09-17 06:04

    EMC干扰问题整改:90%工程师常犯错误与修正方法

    深圳南柯电子|EMC干扰问题整改:90%工程师常犯错误与修正方法
    的头像 发表于 09-01 09:56 926次阅读

    避雷!树莓派初学者常犯的5个错误

    如果你刚刚入手树莓派,你就会知道它潜力无穷,几乎能实现你想到的任何功能。然而,这种自由也让你可能在不知不觉中做出对系统有害的操作。在本文中,我将介绍要避免犯哪些错误。初学者最常犯错误包括:损坏SD
    的头像 发表于 07-22 17:16 1570次阅读
    避雷!树莓派初学者<b class='flag-5'>常犯</b>的5个<b class='flag-5'>错误</b>!

    嵌入式开发就业还有前景吗?

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

    芯科科技助力蓝牙Mesh设备开发

    蓝牙Mesh 1.1是蓝牙技术联盟(Bluetooth SIG)发布的最新标准版本,Silicon Labs(芯科科技)作为开发和实施蓝牙Mesh标准的主要贡献者之一,特别制作了蓝牙Mesh开发流程页面,以帮助开发人员快速了解新
    的头像 发表于 05-16 13:51 1476次阅读
    芯科科技助力蓝牙Mesh设备<b class='flag-5'>开发</b>

    Thingy:91 X 为开发人员提供了一个经过全球认证的、多传感器、电池供电的蜂窝物联网原型平台

    Thingy:91 X 为开发人员提供了一个经过全球认证的、多传感器、电池供电的蜂窝物联网原型平台 挪威奥斯陆 – 2024年12月10日 – 全球领先的低功耗无线连接解决方案提供商Nordic
    的头像 发表于 05-08 17:41 3369次阅读