我从去年10月自学到今年开年春节,然后进入前端开发领域2个月的菜鸟。现在在工作中使用react,目前我遇到一个问题,就是:

我发现我现在能够写出来项目需求的业务代码都是逻辑不强的代码,经常会出一些莫名其妙的bug,我知道这是我代码能力的问题,所以想在知乎求助,希望有人能给我指点,提升自己的代码能力。


我大概回忆一下自己当初学前端的经历,看书,当初还在大一的时候,参加了学校社团,需要开发web页面,自此第一次接触真正的前端,当时对知识的饥渴程度,就跟遇到了真爱一样,天天泡图书馆借各种书来看,到大三,图书馆里跟前端相关的书籍几乎都被我看了一遍,而且自己还买了上万块钱的书,其实,就是一句话,系统化学习,不要相信什么3个月学成拿上万块钱工资的培训机构,自己老老实实从基础理论开始学,然后github上研究大神源码,像vue的源码,jquery的源码,当年本人研究了不下10遍……


第一,增强知识储备。第二,锻炼解决问题的能力。

1 增强基础知识,然后拓展知识的广度:

提到基础知识,很多人认为js只是写写特效,ES6只有let和箭头函数,组件化就是import,其实这只是基础知识中的基础,这里所说的基础知识,是掌握高级技术必备的铺垫,如果你还没有搞明白基础的js面向对象,ES6除了箭头函数和let之外什么也不了解,那还不算「基础夯实」。

当你感觉自己基础确实已经没问题之后,你可以拓展知识的广度,去学习演算法、操作系统、数据结构、网路原理,这些都会让你对前端有更层次的了解,知道自己下一步需要什么知识,而不是感觉「前端不就那么点东西么」。

2 如何锻炼解决问题的能力:

所以想要真正锻炼自己解决问题的能力,就要从模仿开始。

如何模仿呢?

前期模仿一些简单的项目,针对性练习你重点学习的部分,比如你正在学网易新闻的新闻列表,就不用关心它的数据交互或者用户登录是怎么实现的。

中后期模仿一些通用的项目:博客、商城,你手机上的APP都可以是模仿的对象。

模仿只是开始,更重要的,是在实战中积累经验,多思考、多复盘。

你会发现自己的水平,在不知不觉中,稳中有升!加油!


出bug很正常,迅速发现解决就是了。

bug写多了自然而然就有经验了。

效率比较好的方法让大牛给你codeReview,多问多记。


有些东西不是能自己悟出来的,因为这些代码可能是经历了一些你不知道的坑所提炼或总结的。所以需要看看别人的代码。


你能写出来的都是逻辑不强的代码,这说明你的逻辑思维能力的还有待提高,

那么这个问题呢,我建议你怎样换成怎样提高自己的逻辑思维能力,也就是在实际工作当中呢,你要把需求分析清楚。

把需求搞清楚就意味著你已经把一个大的需求切分成了很多小的需求,然后根据这些小的需求,它们之间的相互的关系,去设计你的代码的结构,

我看其他的人有回答说让你看个框架的源码,这个我个人是持保留意见的哈,也就是说我不太赞同这个,一个工作经验在三年以内的人啊,还是先积累一定的代码量比较好.

看框架的源码呢,最好是带著实际的需求去看,就比如说你现在已经达到了一个瓶颈,你已经有了一定的代码量,然后呢,你想让这个代码的组织的结构上,更上一层楼,这个时候呢,你去看一些前端框架的源码会比较好.

更多内容、学习方法,前端技术,请关注公众号:【web前端教室】

回复:资料,得到一整套【JavaScript核心与实例】视频教程

回复:js,拉你入前端学习群


我不太清楚你说的编码能力是指的哪里?如果是代码的规范可读性,健壮性还有完美的代码结构,没问题,可以用多看优秀代码,多思考,多做解决。

同时代码的缺陷可以是一方面是你代码编写不规范等技术层面的问题。

还有一方面呢就是你对你所在部门业务的了解,如果尼业务了解的不是很深,就是你的代码写得再漂亮还是bug一坨坨。

所以我的建议提升技术层面的同时还要增强对你业务的理解,毕竟技术还是服务于业务的。这些都需要你花时间去多想,多做,多看,多问,多思考去解决的


遇到bug是好事,别逃避bug,多解决多思考,提高解决问题的能力


逻辑有问题,应该还是对产品的需求没有理清楚吧,可以在进行功能开发前先把产品需求进行逻辑梳理、功能模块拆分,理解清楚后再构思自己的代码具体如何实现。不要一拿到产品需求就立马动手进行实际开发,不然后面可能要不断返工......


  1. 阅读
  2. 反思
  3. 实践

关于阅读

阅读是能够系统的了解相关知识的,接触前端不久的时候可以先把前端相关的书拿来浏览一下,当然这个时候其实记不住多少,但是可能会觉得发现了一些之前没有注意到的宝藏。根据以往的开发经验,你会发现书里某一部分是正好回答到你心里的,这一部分就是你曾经遇到的问题的解决方案,知道还不行,下一次开发遇到类似的问题的时候用书里看到的方法去解决一遍,如果确实是个好方法,那以后你就会一次次的用上了,这样往复你就会发现代码能力在提高了。

关于反思

每一次项目结束的时候,就要及时的去反思一下并记录,这次项目中遇到了什么问题?可能因为项目时间有限,直接使用暴力方法解决了,那就要记录一下,哪些问题解决的不够优雅?或者有些问题是通过请教别人解决的,那就记录一下,是因为那部分知识不够导致没有找到解决方法?总之就是要根据项目中遇到的问题,去反思一下有哪些可以做的更好的地方,然后争取下一次项目有所改进,某一天回头看自己曾经的代码,发现曾经自己写的不好的话,那说明你在成长了呢

关于实践

写代码的能力毕竟不是读再多的书就能提高的,看再多,反思再多,如果不去实践,那其实你会发现,怎么写还是那副老样子,所以学到新的东西就要尽力再下一次项目用起来,花点时间去玩一下某个新的知识,可能会导致项目实现起来没有那么顺利,但是你会在项目中成长,这样日积月累你就能和其它人拉开差距。


其实代码这东西,花时间下去总是会有所收获的,当然也没有什么捷径,找到一条适合自己的学习路线,不断的去实践,就会提高了。迷茫到时候多去翻翻书,把书里好的东西搬到项目中实践一遍,如果项目结束了,就对著项目中遇到的问题去寻找一下好的解决方案,争取下一次用上一些,这样反复一定能够成长的。


巩固基础知识,然后在项目开发中不断积累经验。没有太多捷径。


推荐阅读:
相关文章