如何提高编程技能
由 Mux 主办的 DEV 全球展示挑战赛:展示你的项目!
为了提升开发水平,你应该精通数据结构、计算、面向对象编程(OOP)的规划、多字符串处理以及其他编程概念。编写计算机程序是多种技能的融合,这意味着不可能在短时间内学会,而需要时间和经验的积累,但这并非一蹴而就。
如何成为一名优秀的程序员?
很少有开发者会练习这些基本的编程技能。如果考试包含批判性思维编程测试,普通软件工程师的水平将会大大提高。
15 个提升开发人员编程技能的技巧
总之,以下是 15 条最重要的建议,可以帮助你成为一名优秀的开发者。
1. 一直热爱编程
通过编写代码,你也能更好地理解自己在设计、错误处理和线程处理方面的不足,然后针对这些方面进行改进。你不能仅仅停留在架构设计上,编写代码才能产生实际成果,这对于学习和进步至关重要。同时,不要在解决问题后就止步不前,最好放弃你的第一个方案,它只是一个模型。你的下一个方案应该解决你在模型中发现的问题和缺失的需求。
2. 通过阅读书籍提高技能
编程比人们想象的要难得多,优秀的代码和糟糕的代码之间存在着巨大的差异,然而,你如何才能分辨呢?除非你亲眼见过优秀的代码,并且明白为什么某个特定的代码是可接受的,否则你无法进行对比。这时,书籍就派上了用场,因为书籍的作者本身就是优秀的软件工程师。他们分享了自己在书籍类型方面的经验。“ Java vs Python:哪个更适合未来? ”
一些知名书籍:
《代码整洁之道:敏捷软件开发手册》(Clean Code: A Handbook of Agile Software Craftsmanship)作者:罗伯特·C·马丁
实用程序员:从新手到大师
3. 提升谷歌技能并为开源项目做贡献
意识到谷歌几乎能解答你90%的问题,这本身就是一件非常有益的事情。为什么呢?因为这样一来,你就不必再向朋友、长辈、老师或导师请教那些你在编程方面遇到的小问题了。大部分初级问题都可以通过简单的谷歌搜索找到答案。
养成在编程过程中遇到错误和问题时就上网搜索的习惯,不仅能让你更加谨慎自信,还能加快你的学习进程,并保持学习的动力和热情。“ 2020年学习JavaScript还值得吗? ”
参与开源代码贡献,特别是 Apache、Google 和其他一些项目,是提升编程技能、成为优秀软件工程师的另一种有效途径。只需关注他们的邮件列表,参与后续的讨论,就能获益匪浅。由于大多数交流都发生在优秀的软件工程师之间,通过倾听他们的意见,了解他们的问题、方法、解决方案和观点,自然而然地就能养成良好的编程习惯。为了更好地学习,不要只是被动地等待,要积极提问、分享自己的见解,同时也要尊重他人。
4. 练习数据结构、算法和设计相关问题
我原本想把它放在第二位,结果却排在了第四位。在我看来,这是成为优秀软件工程师最不明智的做法。我见过的大多数优秀软件工程师都精通数据结构、计算和基本原理。通过学习这些知识,你可以充分利用现有资源。由于数据结构是任何程序的关键组成部分,因此扎实的数据结构知识有助于批判性思考。同样,对关键编程标准、搜索和排序算法以及其他相关计算的理解,也能提升你的编程技能。
5. 玩转代码
无论何时理解了一段代码,都要尝试分析并修改它。这将帮助你更全面地理解代码的运行机制,你或许还会发现一些更有趣的东西。记住——在很多情况下,实现相同目标的方法不止一种。
6.阅读编程博客
阅读优秀的在线博客就像读书一样。阅读博客如何帮助你成为一名更优秀的程序员呢?答案是肯定的。由于博客通常由开发者本人撰写,并且其中大部分分享了他们个人的观点和见解,因此你经常会发现它们很有用。此外,文章篇幅短小,便于阅读。博客还有助于学习新技术以及现有语言和 API 的新特性。通常,我会在一篇简短的博客文章中发现一些关于 Java 代码中一些重要细节或遗漏之处。例如,“为什么 Java 是 2020 年最值得学习的编程语言”。
7. 读码
如果说阅读博客有助于成为一名优秀的开发者,那么阅读代码的帮助更大。然而,阅读博客容易,阅读代码却很难。你觉得难以接受吗?那就去做吧。看看开源项目的代码、同行程序员的代码、你当前开发的专有代码、Java SDK 中的代码,尝试理解它们的工作原理,尝试理解它们在做什么以及为什么这样做。发现模式,培养逻辑思维能力。起初你可能会觉得这很枯燥乏味,但随着时间的推移,你会培养出良好的代码意识,它会在你犯错时发出警报,帮助你发现其他人的错误、漏洞和代码异味。这种代码意识是优秀程序员的标志之一,他们通常会主动寻找你忽略的地方。“为什么你应该在 2020 年学习 Python 编程语言”
您可以阅读以下内容:
*代码在Github上
*图书
*文章
*新闻简报
你可以从别人的代码中获益良多。你可以找到你所在领域的专家,或者利用 GitHub 找到与你自身代码风格相似的代码。了解不同的工程师如何编写代码和解决问题,会让你充满动力。你还能提升自己的基本思维能力。他们使用的方法是否比你的更胜一筹?
8. 参与项目
为了更快、更深入地掌握编程,我通常建议学习者先从小项目入手。这是了解实际应用程序运作方式的最佳途径。可以从一些简单的项目开始,例如基本的库存管理系统、迷你电脑或会员管理系统等等,然后迅速构建更复杂的项目。这将让你真正了解各种编程概念的具体应用场景。
2020年 Java 开发人员最佳工具推荐
9. 编写单元测试
单元测试是对思考和编码过程的补充,因此能帮助你更好地进行配置。任何难以测试的东西都有改进的可能。编写单元测试也极大地帮助我们发现更好的命名、更好的反射、更好的接口和概念类结构,并总体上提高代码质量。然而,与编码和结构化一样,单元测试对于普通软件工程师来说也是一项艰巨的任务,你会发现其中存在一些障碍。一些软件工程师编写的测试很少,而不是考虑使用场景中的各种可能性。记住,在测试、结构化和开发之后,单元测试是另一个彻底检查代码中各种情况和漏洞的机会,没有之一。养成习惯,始终为你的代码编写单元测试。“ 2020 年最佳 Web 开发 IDE https://www.decipherzone.com/blog-detail/best-web-development-ide ”
10. 代码审核
代码审计是成为一名优秀软件工程师的另一项重要技能。代码审计对分析师和代码编写者都有帮助:评论者可以提升代码理解能力并提供切实可行的指导,而编写者则可以从错误中吸取教训。代码审计常常能让你发现那些看似完美无缺的代码中隐藏着一些只有其他软件工程师才能发现的漏洞。代码审查和“四眼检查”正是为此而生的。如果你有幸在一家将单元测试和代码审查作为常规流程的公司工作,那么你很可能会成为比其他人更优秀的软件工程师。这两项技能对提升编程能力大有裨益。
11. 参加黑客马拉松和编程竞赛活动
参加黑客马拉松和编程竞赛能让你清楚地了解自己在竞争者中的水平。它还能让你了解其他开发者的想法,从而极大地丰富你的知识。在类似这样的竞技编程网站上创建你的个人资料账号——
HackerRank
*CodeChef
*HackerEarth
12. 向个别开发人员咨询
与交流相比,阅读是一种较为封闭的活动。与软件工程师讨论并分析程序,往往能带来更好的解决方案。这是因为,当你与他人交流和倾听时,你的思维更容易被激活。我曾在与同事交流的过程中发现过漏洞、遗漏的需求、bug 和配置缺陷。在软件行业,软件工程师通常会把自己封闭在电脑前,因此交流、分享和进行白板讨论非常有帮助。不要只是埋头写代码,要与开发者交流、倾听、思考和互动。偶尔参与讨论也至关重要。
当你还是个新手时,有时你可能无法在谷歌上找到问题所在,或者问题可能非常具体。在这种情况下,不要犹豫,尽管向你的前辈、朋友、教练或老师请教。“ 2020 年最佳编程语言”
当你一无所获时,这或许会很有帮助。你可以联系你的团队或朋友。如果你谁也不认识,可以问问,或者使用软件论坛。
在某些情况下,你需要另一种解释才能理解某个概念。遇到难题后上网寻找答案固然可以,但迟早你还是需要向其他设计师请教。
利用他人的信息来提升自己。此外,如果你向其他设计师请教,他们很可能会对此表示赞赏。
13. 永远要问为什么、在哪里以及如何
无论何时,当你熟悉某个编程概念时,都应该始终努力理解你为什么要学习这个概念,而不仅仅是理解概念本身。这将帮助你更好地理解它,并在许多实际情况下发挥作用。
学习Node.js的十大理由
在学习编程中的任何主题时,都要养成除了“是什么”之外,还要问“为什么”、“哪里”、“如何”等问题的习惯。
14. 小组合作
从一开始就培养团队合作的习惯。最终,当你进入职场时,你肯定会以团队形式工作,如果你已经习惯了这种模式,那么你的工作体验将会更加顺畅。团队合作的另一个好处是,你和你的同事之间会进行大量的知识交流,因此你能够学到比单打独斗多得多的知识。此外,你的项目成功率会显著提高,项目失败的风险也会大大降低。“面向开发者的实用 JavaScript 数组方法”
15. 积极参与技术社区、论坛和博客
这是另一种有助于信息更新的行动。通过分享信息,第一个受益者是分享者本人。由于编写计算机程序的工作量巨大,你通常会忘记很多超过三个月未使用的东西。参与 Stack Overflow 并关注其他人的提问,在网站和论坛上发表评论,是重新审视信息并纠正误解的好方法。通过将我们的知识分享给他人,我们既帮助了他人,也让他们面临挑战。通常你会发现,有人从你的知识中受益,同时,你自己的困惑也得到了纠正。“现代 Web 开发、设计和部署”
关于分享你的工作内容,我有几点想法:
*撰写博客文章
*参加会议或附近的聚会
*在 StackOverflow 上寻求意见
结论
每个开发者都渴望成为更优秀的软件工程师,但最终能成功的人寥寥无几。除了基本的编程能力和批判性思维之外,成为一名优秀的软件工程师还需要付出艰辛的努力、持续不断的学习和不懈的毅力。你完成的实际工作越多,例如编码、设计、单元测试和代码审查,你的技能就会提升得越快。
软件开发人员如何才能保持与时俱进?
文章来源:https://www.decipherzone.com/blog-detail/how-improve-programming-skills
文章来源:https://dev.to/j_marathi/how-to-improve-programming-skills-48pn