全文共2387字,预计学习时长6分钟

图源:unsplash

 

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

 

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

 

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

 

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

 

过时的注释

 

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

 

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

 

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

 

图源:unsplash

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

 

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

 

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

 

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

 

重复代码

 

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

 

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

 

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

 

图源:unsplash

没有错误处理

 

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

 

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

 

缺乏一致性

 

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

 

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

 

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

 

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

 

缺乏对工具的了解

 

图源:unsplash

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

 

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

 

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

 

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

 

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


推荐阅读专题

留言点赞发个朋友圈

我们一起分享AI学习与发展的干货

编译组:刘娟、宋晓妍

相关链接:

https://medium.com/better-programming/6-coding-mistakes-that-get-in-the-way-of-your-dream-job-13639235d620

如转载,请后台留言,遵守转载规范

推荐文章阅读

ACL2018论文集50篇解读

EMNLP2017论文集28篇论文解读

2018年AI三大顶会中国学术成果全链接

ACL2017论文集:34篇解读干货全在这里

10篇AAAI2017经典论文回顾

长按识别二维码可添加关注

读芯君爱你

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐