编程新手如何提高编程能力?
编码和其他技能一样,需要练习,如果你长时间不用,你的编码技巧就会变得麻木。
而如果你期望成为优秀的人,那么就不仅仅是每天在工作中编码,那是不够的,你需要把编码当成你的生活。
想想奥运运动员,他们不只是每天训练几个小时,他们为自己的运动而活,他们每天训练 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,硕士毕业于哈尔滨工业大学,曾在华为、阿里等大厂工作,如果你对升学、就业、技术提升等有疑惑,不妨交个朋友:
评论