写点什么

编程新手如何提高编程能力?

作者:Jackpop
  • 2022 年 4 月 09 日
  • 本文字数:2298 字

    阅读完需:约 8 分钟

编码和其他技能一样,需要练习,如果你长时间不用,你的编码技巧就会变得麻木。


而如果你期望成为优秀的人,那么就不仅仅是每天在工作中编码,那是不够的,你需要把编码当成你的生活。


想想奥运运动员,他们不只是每天训练几个小时,他们为自己的运动而活,他们每天训练 8 到 10 个小时,然后参加比赛。


他们痴迷于寻找自己的弱点,并将其完善。


如果你想成为一名 优秀的开发人员,那么你也要用同样的方式来看待写代码的做法。


特别是当你刚刚开始你的职业生涯,想从教程地狱中挣脱出来的时候,这看起来似乎太难了。


但这并不难,你只需要找到正确的方法即可。

复现他人的项目

你想要练习编码,当你还没有一个适合你开发的项目想法时,最好的选择就是复现一些别人的。


小心,我不是叫你克隆他们的 repo,看看他们的代码。我也不是说回顾他们的代码,看看他们是怎么做的,不管他们在做什么。


当然不是这样,我想说的是:选择一个你喜欢的项目,甚至是一个你一直在学习的库,然后尝试逆向工程去了解他们的内部逻辑。


这甚至比写你自己的原创项目还要好,因为你已经有了详细的文档,描述了一切是如何工作的。


所以,你只需要关注如何编码即可。


例如,如果你是一个 Node.js 开发者,就写一个类似 express 的框架,并复现 Express 的 API。


或者如果你是一个 Go 开发者,通过阅读他们的文档,写一个 Kingpin。


这里的目的不是创建一个项目给别人使用,事实上,你将来根本不会使用它。


但是,通过追寻一个实际的项目,你将面临着难以解决的问题,有些问题甚至是意想不到的。


而这也是你的编码会跃上一个新台阶的地方。


这些项目会让你走出舒适区,进入未知的领域,这就是成长的地方。

贡献开源项目

乍一听,进入开源可能是个好办法,但一旦你意识到没有预设的方式,也会很难做到。


最简单的方法,通常也是我推荐的方法,就是找到一个你已经使用了一段时间的项目,寻找它的 repo。


如果它是开源的,它就会有一个公共的 repo,很可能在 Github 上。


一旦你找到它,检查他们的 ReadMe。


如果他们正在积极地寻找任何形式的帮助,他们会以某种方式进行宣传,它应该会给你提供你需要做的细节。


如果那里没有提到贡献,你也可以从其他地方找到。


  • issues 部分有新的问题,并且有几个不同的人在积极地回答这些问题

  • 有一些问题被标记为 "best first issue",或者 "looking for help"

  • 有一个 "贡献者"列表,在 ReadMe 文件中,或者在项目根目录下的一个单独文件中


如果你发现了这些,请随时与项目的 owner 取得联系,请求两件事情:


  • contribute 权限:当然,你想做出贡献的事实是伟大的,这应该是让他们高兴的事情。但同样重要的是,要表现出适当的尊重,认识到这不是你的项目,你是来帮忙的。

  • 当涉及到贡献时,有什么协议。因为,这不是你的项目,不同的项目维护者可能希望遵循不同的协议。询问他们,这是对他们所做工作的另一种尊重。而且这会提高你的贡献被真正考虑的机会。


如果你得到了你所需要的信息,并且没有你觉得可以解决的问题,那么,同样可以在一些方面做出共享:


  • 补充文档中缺失的细节或者纠正错别字。当然,虽然看起来不多,但它会帮助你理解这个过程和 Pull Request 的工作方式。

  • 添加或扩展单元测试。这可能就像添加 3-5 行代码一样简单,但你会尝到为项目贡献代码的滋味。你也会了解一些关于它是如何工作的,单元测试可以让你很好地了解内部逻辑。

开发个人项目

最后一种方式就是在自己的个人项目上下功夫。


开发自己的项目,可以帮助你了解不少东西,不仅仅是编码。


计划


有的开发者在开始一个项目时,对自己要创建的东西有一个非常基本的想法,也有的开发者花了几周的时间来规划整个项目。


无论哪种方式,如果你期望很快就有一个发布版本,那么在创建自己的个人项目时必须要有规划。


否则,你可能会遇到很多问题。


意见反馈


公开你的代码可能会让人觉得畏惧,但除非你是在做一个私人项目,否则你就会把你的代码发布出来让别人查看。


这可以让别人告诉你如何写出更好的代码。


当然, 它们既可能是非常有建设性的经验,也可能是令人心碎的经验。


知道如何接受反馈,即使是以侮辱你能力的形式,也是具有一定价值的。


如果你能够理解从负面评论中获得一些东西,那么你就已经取得了进步。


而积极的评论也是如此,当其他开发人员强调他们喜欢你的项目的地方时,你的代码可以告诉你需要加倍努力的地方。


毅力


任何人都可以创建一个项目,但很少有人能真正坚持下去。


这是我们开发生活中的一个事实,当你开始一个项目时,你应该意识到这一点。


我所说的完成,是指,发布一个可以生产的版本,供任何人使用,有适当的文档,甚至,一个网站或某种形式的营销活动围绕它。 这涉及到的不仅仅是编码,这就是为什么它如此困难,但是,一旦你完成了,就会有回报。彩虹尽头的金罐,就是你的项目创意是真实存


通过自己的项目工作,可以获得很多经验,但这是艰苦的工作,需要努力和坚持。


编码


是的,在完成自己项目的同时,编码也是你会提高的一个东西。


你必须要自己编码来完成它,在编码的同时,你会测试新的东西,新的方法,在这个历程中你会学到不少东西。


然而,这并不是编码的全部,你还会在这个过程中学到其他相关的学问,比如最佳编码实践、架构模式,你会发现以前不知道的新工具和模块。


但前提是:把你的想法一路做到 100%,会让你接触到很多活动和经验,这些活动和经验虽然与编码有关,但并不涉及写代码。

结语

让你的编码技术更上一层楼并不容易,需要时间,需要努力,但任何人都可以做到,即使是你。


不要再看教程了,学习的时间已经结束了,现在是付出实践的时候了。




hello,大家好,我是 Jackpop,硕士毕业于哈尔滨工业大学,曾在华为、阿里等大厂工作,如果你对升学、就业、技术提升等有疑惑,不妨交个朋友:


我是Jackpop,我们交个朋友吧!

用户头像

Jackpop

关注

还未添加个人签名 2020.09.16 加入

公众号:平凡而诗意,微信:code_7steps,全网粉丝超20万,技术进阶、优质资源、实用工具,欢迎关注!

评论

发布
暂无评论
编程新手如何提高编程能力?_Jackpop_InfoQ写作平台