作者 | Skill Pathway

  译者 | 弯月,责编 | 屠敏

  出品 | CSDN(ID:CSDNnews)

  以下为译文:

  开发人员之间所谓的不同“级别”的界线是模糊的。如果你问高级开发人员、开发经理或技术总监:“初学者、初级、中级和高级之间的区别是什么?”那么很有可能他们会给你截然不同的意见。

  由于存在各种各样的意见,因此想花时间搞清楚如何成为“高级”或“中级”开发人员,实际上并没有太大帮助性,所谓的“级别”在大多数情况下都纯属个人意见。

  因此,在本文中,我们想提出一些你可能没有考虑过的方面,如果你照做了就有可能提升自己的开发水平。

  

640?wx_fmt=png


  建立一个实质性的项目

  ReactJS计算器?看着很酷,但并不务实。待办事项清单应用程式?也是很有趣的小工具,但不务实。在本文中,我们来谈论一些与众不同的教程,大多数人都可以尝试一下。

  这些与众不同的教程将从不同的视角、端点和功能出发,构建具有独特性且能展示开发人员创造力的应用。

  那么,我们认为“实质性项目”的例子有哪些呢?

  照顾狗狗。

  宠物小精灵爱好者的微型社交网络。

  供其他人使用的Web后端或前端框架——不是说让你加入框架大战,而是让你了解如何构建框架!

  利用你平时主要使用的编程语言构建一个程序包,并在多个项目中使用。

  网上有很多时髦的例子,但重点在于你需要围绕你超级感兴趣的事物构建一个更大的项目,或者构建一个完全超乎你当前理解范围的事物。很明显,这两种项目都可以提升你自己,因为你会遇到各种新概念。

  

640?wx_fmt=png


  向开源做贡献

  构建你自己的开源软件包/应用程序,或向现有的代码库贡献代码。

  你自己的开源软件包

  如果你想构建自己的软件包,那么首先请确保不是来自某个教程,而是你真正想发布给别人的东西。

  记录你的创作过程

  如果你可以创建博客文章或视频系列,记录创建方式/原因以及思考过程,那么就更好了。这不仅可以让你从讲故事的角度思考问题并获得新的见解,而且还可以很好地证明你的能力,此外,还可以让成千上万的读者通过你的这个项目受益。

  别人的代码库

  你可以查看一些非常流行代码仓库,比如PHP、Python、java软件包和插件(它们都在GitHub上)。很有可能这些软件包中都含有很多未解决的问题。

  仔细阅读代码库制定的代码贡献指南,通常在代码根目录下的某个.MD文件中,你应该首先阅读该文档,然后开始解决问题。而且你可以更进一步添加一些实用的功能。

  这样做的目的有很多:

  证明你能够遵循编程准则(展示给潜在雇主)。

  你是开源社区的一员,某个代码库的贡献者中有你的名字。

  你熟练掌握了分叉、拉取请求与提交。

  你可以了解社区维护的软件包,而且有机会采用一些更好的编程实践。

  

640?wx_fmt=png


  阅读高级开发人员的代码

  这是开发人员提升自己的最快方法之一。因为大多数时候,你所阅读的代码都超出了自己当前的水平。

  努力理解这些代码,并与自己的代码进行比较,设法寻找可以改善自己的实现的模式,同时记录下所有能够提高自己的工作流程的技术细节。

  如果你目前没有在某家公司就职的话,那么可能没法这样做。如果你真的没有在公司就职,那么可以从社区寻找开源项目,社区的开发人员经验非常丰富,你可以阅读并理解他们的代码。

  在阅读其他开发人员的代码时,如果有人能够回答你遇到的问题,那么就更好了。你需要让他们知道你在努力理解高级代码,请求他们回答你的一些问题。很多人都愿意提供帮助。

  

640?wx_fmt=png


  了解更多的编程设计模式和原理

  你应该研究一下SOLID、KISS、YAGNI、MVC以及其他种类繁多的设计模式和原理。维基百科上有两个与设计原理和模式有关的页面:

  https://en.wikipedia.org/wiki/Software_design_pattern

  https://en.wikipedia.org/wiki/Category:Programming_principles

  你可以仔细阅读每个模型的定义,然后搜索每个模型的示例——每个示例都非常重要,因为如果你对每个模型实现的前因后果有一定的了解的话,那么才能深入理解这个模型的实现。

  很有可能有些设计模式你根本没听说过。大部分招聘经理也不会全部记住,所以快速阅读一部分设计模式,巩固你的记忆,就能改进编程的过程。

  原文:https://dev.to/skill_pathway/4-ways-you-can-level-up-as-a-developer-17ol