你在新工作编程中可能犯的另外 10 个错误(第二部分)
这是第二部分!如果您喜欢,也希望您能看看第一部分!如果您想了解更多技巧并与我交流,请访问我的Instagram 账号。您也可以给我写私信,我会尽快回复所有问题!谢谢,希望这能给您一些有用的建议。
在第 1 部分中,我们进一步研究了如何发送和准备代码以供面试官评估。
让我们开始第二部分,我们将更详细地介绍实际代码应该是什么样子以及您可能犯的其他错误。
错误一:不要说某事很容易
“Javascript 易用不难”。我不知道人们为什么这么说,但这很常见。你可以用任何你想要的东西替换 Javascript。一切都既简单又困难。开车很容易,但驾驶一级方程式赛车却很难。而且,这会让面试官觉得你内心有某种精英主义。我的意思是什么?这和编程新手问“做 XYZ 的最佳方法是什么?”是一样的。没有最好的方法,也没有唯一的方法。没有所谓的最好或最值得学习的编程语言。所以,如果你认为仅仅因为你学了 C++,你就看不起那些自以为是精英的 Javascript 开发者。这只不过意味着你从工具带里学到了一种工具。你现在可以使用羊角锤,但不能使用大锤了。是的,现在学习大锤会更容易,但两种锤子都有各自的优缺点。所以请不要说事情很容易。很可能它们很简单,因为你还没有完全理解它们。
错误 2:如果工作规范要求你必须了解测试,那就编写测试
能够编写测试总是加分项。测试不必完美,代码覆盖率也不必达到 100%。只需编写一些简单的测试来测试核心功能,就能获得很大的加分。
错误 3:没有将代码拆分成更小的文件
如果你发送一个包含 2000 行代码的大文件,审查起来会很困难。
作为需要检查你代码的人,很难看清这个文件里发生了什么,以及代码的流程是怎样的。你可能还需要从上到下滚动查看。最好尝试将代码拆分成更小的文件。这对以后的工作也很重要。没有人希望代码只有你自己看得懂,而你的团队成员都看不懂。请拆分代码。这样审查起来会容易得多。
错误 4:没有代码注释,或者只写下一行代码的作用
我看到有人甚至在做了几年开发者之后还会这么做。比如这样的注释:// Loops through an array
下一行是Array.forEach()
……你好,显而易见的队长。如果你能用更抽象的方式描述一下这个循环的作用就更好了。// preparing data for sending it via AJAX
或者类似这样。这样人们就知道代码的意图了。
错误 5:你的代码杂乱无章
const array = [ 1, 2];
array.forEach((a ) =>{
a = a+ 1;
console.log(a) ;
}
);
这真的很难读懂,也说明你工作很粗心。现在我们有像eslint
和 这样的工具prettier
。每个大型编辑器和 IDE 都内置了这些,或者你只需要安装一个插件/扩展。所以请使用它们。
错误 6:变量命名不正确
const b = true;
const a = [];
这不太容易阅读,也无助于理解b
。
更好的命名应该是:
const isReady = true;
const listOfPersons = [];
再次强调,这些只是示例,每个团队都有自己的命名方式。当然,你无法猜测那种风格,只需取一个你认为有意义的名字,并坚持一种风格即可。
错误 7:你只是注释掉旧代码
我经常看到这种情况,但我仍然不明白为什么人们会这样做。你有一个包含 100 行代码的文件,其中 70 行是注释掉的旧代码,30 行是实际实现。我应该阅读旧代码吗?这是否表明你第一次做错了,然后又重新实现了它?没有人是完美的,第一次就能写出完美的代码。所以请删除这段代码。如果我想查看你是否重构了代码,我应该在 git 提交中查看,并查看 git 提交信息,这样我就能理解你做了什么。
错误 8:你没有检查代码是否仍在运行
这种情况经常发生。你周日晚上收到面试官的一封邮件。周一上班开始检查代码,突然收到第二封邮件,里面有一些代码更新。你还收到一个承诺,说这次代码真的可以正常工作。所以,在发送代码之前,请先停止程序,清理缓存,安装依赖项,然后重新启动。如果之后代码仍然正常工作,那么你就可以说你准备好了。
错误 9:你更改了某些内容,但没有检查它是否仍在运行
对于我们的全栈开发人员,我们有一个任务需要他们将变量保存到数据库中。他们可以选择数据库、模式以及保存变量的方式。我们只是说必须保存。在这种情况下,人们会修改代码,却不检查修改后代码是否真的保存到了数据库中。例如,他们更改了模式,或者只是用一个小文件尝试一下等等。再次强调,在将任务发回之前,请检查所有函数是否仍然正常工作,并尝试进行一些破坏性的操作。没有人说你需要捕捉所有边缘情况,但至少要捕捉用户可能做的最常见操作。
错误 10:你没有为编程面试做好准备
从提交任务到实际面试,可能已经过去了一段时间,可能一周甚至更久。你还记得自己在那个任务中做了什么吗?比如,你为什么用那种方式解决这个任务,以及你在实现任务时的想法是什么。整个面试过程的目标之一并非考察你作为程序员的水平,而是考察你是否适合这个团队,以及你是否具备团队合作精神。面试更看重你的软技能,而不是你的编程技能。在进入面试环节之前,请务必阅读你自己的代码。
也许您想让我帮您审查代码?或者给您一些帮助的建议?只需通过我的任何社交媒体账号联系我,我就可以尽力帮助您。当然,我无法代劳,但其他方面我都可以帮您!
感谢阅读!
打招呼! Instagram | Twitter | LinkedIn | Medium
文章来源:https://dev.to/lampewebdev/10-more-mistakes-you-probously-also-made-in-your-coding-task-for-a-new-job-part-2-20jn