您是从事软件开发事业的初级开发人员吗?
还是最近刚开始从事新工作的计算机科学专业的毕业生?
也许一个自学成才的开发人员想知道下一步该怎么做?
开始您的软件开发生涯可能会令人恐惧,但也非常令人兴奋。
我自己去过那里就知道这种感觉。 在过去的四年中,我从初级开发人员转到SaaS初创公司的首席开发人员,在此过程中学到了很多东西。
我已经用最重要的技巧编写了本指南,不仅可以生存,而且在成为初级开发人员的第一年会努力。
知识上的差距也可以
大学学位,新手训练营和在线课程在教您如何编码方面做得很好。
然而,事实是,在软件开发的现实世界中,除了编写代码之外,还有很多其他事情。 您必须了解:
-哪种技术最适合不同的问题
-其他人编写的代码
-设计模式和最佳做法
-如何测试代码CI / CD,源代码控制和分支策略
-软件开发生命周期和不同的方法
-不仅与您的团队合作,而且与其他团队,管理层和客户合作
……仅举几例。
您可能已经知道其中一些内容,或者您以前可能从未听说过。 没关系。 您是初级软件开发人员,您的经理和您的队友都知道这一点。
因此,您的知识将存在空白。 每个开发人员都有! 如果这一切都没有直接意义,请不要感到不知所措。
实际上,成为软件开发人员的好处之一就是技术总是在变化。 无论我们处于什么水平,我们都将始终在学习。
问题很好,因此寻求帮助
您有第一个任务,就感到兴奋并直接潜入水中。但是随后……您陷于困境。 您的代码无法按预期工作,您所要做的只是一个奇怪的,令人困惑的错误消息。
陷入困境,您考虑向团队中的其他开发人员之一寻求帮助,但是您认为:
“如果他们认为我愚蠢怎么办? 还是我无法编码? 嘲笑我?!”
但实际上,这永远不会发生。 他们实际上会想到的是:
“好的,我会快速浏览一下,看看是否可以提供帮助。 啊! 是的,我之前遇到过此问题,您可以使用somePackage()中的 someMethod ()进行修复。”
哪个还不错吧?
您的团队会在那里为您提供支持,尤其是在您职业生涯的早期阶段,因此请他们提供帮助(如果您有兴趣,我会在这里详细介绍如何成为一名优秀的队友 )。
同样,如果您不懂某事,请提出问题。 我仍然每天都在问很多问题! 没有愚蠢的问题。 您的团队宁愿为您提供帮助,也不希望您在一整天的时间里困惑地盯着屏幕。
代码评论是您的朋友
我永远不会忘记我的第一份初级开发人员工作中的第一次代码审查。 经验丰富的高级开发人员正在审查我的代码。 当时我发现了这种令人不安的东西。 而且,当然,来自他的评论超出了我的想象!
但是事后看来,这是一件好事。
代码审查不是批评的舞台,而是各方的学习和反馈。
高级开发人员与我坐下来,解释了每条评论的含义,以及他发表这些评论的原因。 不用说,我学到了很多东西。 因此,在检查代码时,请记住,任何反馈都将帮助您学习和改进软件开发人员。
同样,当您查看其他人的代码时,您将能够看到不同的人如何处理不同的问题。 您甚至可以通过提出自己的建议来帮助他们改进!
分解,再分解
好的,因此您有自己的第一个实际任务,具体取决于任务的大小,您可能会觉得不知所措:
“我从哪里开始? 我想我先做X,但是Y呢? 但是,如果我做Y,则有A,B和C…。X又发生了什么?!
不用担心我们都去过那里。 尝试解决问题时,很容易迷失在众所周知的兔子洞中。 下次您遇到大问题要解决时,请记住该报价,
“你怎么吃大象? 一次咬一口。”
换句话说, 通过将任务分解为较小的任务 , 使似乎不可能完成的任务变得更易于管理。
那你怎么做呢?
在编写任何代码之前,请尝试以简明英语(或您选择的语言)写出这些步骤。 让我们举个例子。
您如何倒一杯水?
普通的英语方法是
-打开橱柜
-来一杯
-将玻璃杯放在水龙头下
-打开水龙头
-玻璃装满后,关闭水龙头
-从水龙头下方移走玻璃
通过写出步骤,可以更轻松地可视化问题的每个部分并为每个步骤提出解决方案。
把事情简单化
许多初级开发人员犯的一个常见错误(尝试时包括我自己)是尝试重新发明轮子。
通过在代码中使用超级技巧来解决问题可能看起来令人印象深刻。
但这会导致其他问题:
与系统的相似部分很难维护的代码完全不同,您的代码可能变得更加冗长,并且可能会增加错误的风险,可能需要更长的时间才能完成任务
那么,如何使它保持简单呢?
让它起作用。 不要考虑太多,尽一切努力使代码正常工作
重构。 现在您的代码可以正常工作了,该重构了。 通过适当地命名和使用正确的格式来使代码易于阅读。 有关更多信息,请参见下面的“了解如何编写简洁的代码”
加快速度。 重构完成后,您可能会注意到代码性能的瓶颈 。 现在是优化它的时候了。 注意不要过早陷入过度优化的陷阱! 仅在需要时这样做。
奖金提示。 在编写任何代码之前,请考虑编写一些失败的测试。 这称为测试驱动开发 。 这不仅可以为您提供良好的测试覆盖范围,而且可以帮助您考虑代码的结构。
了解如何编写简洁的代码
掌握干净的代码将使您成为软件开发人员。
那么,清洁代码到底是什么意思?
遵循SOLID原则可测试和可维护易于阅读和遵循
换一种说法:
任何傻瓜都可以编写计算机可以理解的代码。 好的程序员编写人类可以理解的代码。 —马丁·福勒
我将在这里不做过多介绍,例如Robert C Martin所著的《 清洁代码:敏捷软件技巧手册 》一书将对该领域提供更深入的了解。 如果您真的想编写干净的代码并突破初级开发人员的水平,我强烈推荐这本书。
编写干净的代码表明您对所做的事情充满热情,并且可以创建可维护的可靠软件。 更不用说您将使下一位来添加您的代码的人的工作变得更轻松。
“有一个图书馆”
您是否曾经向朋友介绍过您遇到的问题,然后他们回答“是的,有一个适用的应用程序”?
软件开发有点像这样。
您正在尝试解决的问题已经有了很多答案。 因此,当您尝试完成任务时 ,请检查是否有人已经解决了该问题。
您可以通过以下方式做到这一点:
寻找现有的软件包和库浏览站点,例如GitHub和StackOverflow,以解决您的问题。
放在那里! 这不会让您随意地复制和粘贴代码。 如果使用的是别人的代码为例,它是重要的,你了解他们的代码在做什么, 为什么 。
为什么要使用特定的设计模式?为什么要用特定的语言编写? (例如,Node.js与Python)有哪些缺点? 它可以与您当前的代码库一起使用吗?
如果不确定,可以向团队中的某人寻求指导。 搜索Google的答案是解决编码任务的常用方法。 因此,不要害怕转向您的队友说:
“我正在考虑使用库X或包Y,我在这里看到了一些示例,您对此有何看法?”
这不仅表明您很主动,而且还会引起团队的一些对话/辩论。 您可能已经发现了其他人所不知道的棒极了!
了解如何阅读代码
我们都看过那些电影。 黑客在代码页中向下滚动时迅速键入的内容。
在现实世界中,与实际编写代码相比,开发人员在阅读代码上花费的时间更多。
添加新功能或修复缺陷时,您将必须了解正在使用的当前代码库。 你怎么做到这一点? 阅读,阅读,阅读!
阅读代码也是一种有益的学习技术。 阅读现有代码可让您了解其他人如何开发特定功能。
需要注意的事情:
-使用设计模式
-方法,类和变量的命名
-使用注释如何构造项目文件
-测试的使用及其结构
那么,您在哪里找到要读取的代码?
在GitHub上的workProjects上的源代码控制中的存储库在StackOverflowCode挑战网站(例如codewars.com)上阅读答案/问题,这些网站显示了挑战的答案玩得开心!
如果您从本文中删除一件事,那就顺其自然吧–获得乐趣很重要。 享受编写代码,解决问题并继续学习的乐趣。 您正处于令人兴奋的职业生涯的开始,所以请坐下来享受旅程!
0条评论
点击登录参与评论