自学编程半年后十分困惑,大家有哪些建议或者心得可以分享吗?

MYR00


很多高手都选择性忘记自己初学时的困惑,让后来者心生敬畏。自学是效率最低的学习办法,但是大学没钱但有最多的是时间,题主看的理论已经够多了,应该项目练习,写自己的个人网页,模仿别人的网页,理论不用全都记住再去做练习,踩对坑了去搜索去解决,看别人怎么实现,HTML+CSS难点也就那几个知识点,盒子模型,浮动,三大布局(传统的float、绝对相对定位布局、flex布局),还有兼容性,这个只能靠项目经验了,不断踩坑,不然自己不长记性,做三四个网站,估计就好很多了,JQ看一下尝试随看随用,只看不用记不住的。


墨墨大猫


7年本硕+3年工作经验的老司机为您解惑啦。

首先赞一下题主的提问,看得出题主是一个热爱编程,且非常用心的人。

从你的问题描述来看,你似乎走进了一个误区。《论语》里说过"学而不思则罔,思而不学则殆"。对于计算机来说,理论知识的学习和编程实践就对应着学与思,两者缺一不可。

如果只学理论知识,你会发现忘得非常快,缺乏实践让你很难把知识粘合,也难以抓住重点。

只实践则会进入另一个误区,你会把低效的,不规范的代码重复,甚至养成不好的习惯。

正确的做法是怎样的呢

我认为,应该是螺旋式的上升。在实践中学习,在阅读理论后不断实践。以bootstrap为例,最佳的方式是带着目标去学习,比如我想做一个个人网站,怎么去实现它。在实践的过程中,你自然会知道,哪些知识是高频的,哪些是重点需要掌握的。

那么如何避免低级重复的实践呢?我认为有两点需要注意。

[一] 多看源码

为什么看源码很重要呢,因为闭门造车注定有很多问题发现不了。到github上看看优秀的源码,你会发现"原来这个功能可以这样实现"。

[二]了解一些软件工程的规范

写代码的时候,思考这么几个问题。

  • 我的代码有没有重复
  • 有哪些地方,需求是可能变化的,需求变化对我的代码影响大不大
  • 如果没有注释,别人能否看得懂我的代码。
  • 我是否写了过长的方法,过长的类
带着这些思路,你会很容易发现自己代码中的潜在问题,到时候再结合理论和源码,就能获得提高。

希望我的回答能够帮助你。我现在工作的方向就是用技术手段解决工程师的效率问题,有问题随时私信我交流。

最后,求一波关注啦


战神猴哥


作为一个计算机专业的大四老狗,我感觉我还是能说上一两句话的。

先说你自己说的html,你了解过多少?4,4.01,5,5.1,5.2这几个比较近的版本看过吗,文档树结构认知有多少。

再说说css,版本1 2 3 还有最新的草案标准4。动画,svg,canvas有过理解吗?就问个最简单的问题,css的权重你来简单说一说。还有些基础:less, scss开发css。

JS,重头戏~~~ es3, es5, es2015,2016,2017,2018知道几个。能不能理解为什么用框架?什么是JS模块化开发,为什么要模块化开发?vue,react这类框架知不知道怎么用?

再来说说向上发展~流程化开发工具,打包工具,测试框架知到是什么概念吗?为什么用?如果看到这里你觉得OK上面的毫无压力,来我们说说node开发相关的概念,具体实现自己看官方文档以及百度、谷歌、Github。gitee上的JS东西太少了,虽然速度快。html模板引擎,后端渲染,跨域的整体解决方案,路由。以及为啥用这些东西。

最后我想说的是现在的前端和数年前的前端不可同日而语,如果你用到了node,服务端的知识也必不可少,Linux和nginx在等着你。而且作为一只合格的程序员,Git仓库要会玩吧,markdown写文档也得会吧,用到Linux那shell脚本也得会写一点吧,以及链接服务器用的ssh,在服务器中修改点东西用的vim编辑器,大多数公司用的SVN你也不能说不会吧,自己要用Google不得开个VPN自己玩?更重要的是在web发展的大潮流下,嘿嘿tcp/ ip, http, https, ftp。。。加油吧

给你一些名词自己玩:SPA , MPA , webpack ,vscode , Native , Progressive Web App


故人未见即见


从你的问题来看,确实很用心,也希望能够得到一些帮助,我就说一些我自己的看法吧,希望对你能够有些作用;

首先,因为你非计算机专业,而且是自学软件开发;所以,首先很重要的一点是如何真正的入门软件开发的行业;其实无论是前端还是后台或者是客户端,在对于开发人员来说,只要你真正的进入了软件开发,无论是什么语言;当你再去学习其他语言时,都会有事半功倍的效果;因为其实所以的开发语言,很多都是相通的,尤其是学习方式、思维方式和基础语法;所以,我觉得,你的第一个问题,学过之后经常忘记,有以下几个原因:

第一,你还没有真正的进入软件行业,没有真正的找到作为码农的那种感觉和思维、学习方式;可能你觉得有些玄乎,但是这真的是一个感觉,就像学习开车一样,开始你强行去记住各种操作顺序、操作部件,甚至强行记住刹车在哪,油门在哪;但是真正熟练的人,都是凭感觉,没有任何记忆,所以,最强的招式也就是无招;

第二,我觉得你真的是练习不够多,因为没有练习,所以很多知识都是强行记忆的;就像现在我们毕业五六年了,当你去问很多人他们大学时候的专业知识时,又有几个能够完全记住呢,差不多很多都忘了;只有在不断的练习中,才能够强化记忆,找到自己没有学到的东西;

因此,我觉得,你还是应该在学习的基础上,多练习,只有在练习的过程中,才能真正的体会到什么是编程,慢慢的去找到那种感觉,去发现问题,解决问题,才能真正的成长,一味的强行记忆,其实最后达不到任何效果;这就是为何考100分的新手没有考不过的五年老司机开车开的好原因;

第三,因为你是自学,我不知道你具体是怎么学习的,但是你应该没有一个系统的学习安排和循序渐进的学习过程;任何东西都需要有个先后;

比如,我觉得应该先学习html和css基础,学好之后,去尝试模拟写一个类似淘宝首页这种的静态页面,去强化;然后学习js基础、然后先从简单的页面动画效果;熟悉了js的开发之后,可以学习jquery的使用,然后尝试使用css、html、jquery写一些简单的项目,如一个简单的购物车啊之类的;之后呢,当熟悉使用这些和可以进行一些项目开发之后,就可以尝试学习目前的一些最新框架,如vue、react、webpack等;尝试使用模块化、组件化进行开发;

然后就可以尝试使用新的框架进行一些项目开发了,现在很多框架都有demo,可以自己尝试去自己完成他们的demo,然后去找出自己的问题;

后面如果还希望提高自己的话,我就推荐可以开始去看一些源码,如jquery、vue等一些;但是目前我不是很推荐你去看,因为你现在连基础和一些项目经验,很多知识都还没有形成体系的时候去看jquery源码,真的是有点找虐;如果你看源码,又不准备看懂的话,那就真的没有看它的必要了;

最后,从我个人观点而言,我觉得你现在不要一味的去追求看的多,而要去追求看一些知识,就要真正的理解、运用到实际然后形成知识体系;只有这样,才能够真正的在工作中有用,也才能更好的找到工作;


搬砖前端小子


作为一个前端开发者,我不清楚你为什么连HTML跟CSS都要研究那么久?而且你连一个项目都没做过,现在还只是写了几个静态页面对吧?写静态页面,半天时间看一下HTML文档,半天时间看一下CSS文档,然后找个现成的网站,自己照着写出来就可以了。除非你到了会做项目了,然后才考虑研究怎么如何优化HTML跟CSS,否则你这样就是在浪费时间,实践才是学习的最好方法论!

其次,从你的问题来看,你似乎连前后端数据交互都没做过吧?你要知道,现在很多都是后台程序员开发好API,前端开发者则负责调用API接口获取后台数据进行展示。就这点你最起码得了解http,了解ajax,并知道怎么用ajax,这才是最重要的,如果你连最基本的ajax都不会,你研究那些源码又有什么用?连项目都不会做,代码研究得再透彻也是然并卵!

所以,这里我给你这条路,HTML跟CSS,最多给自己一个星期学习,js基本语法可以花一个星期看看mdn上面的文档,然后可以再花一个星期看看阮一峰的ES6入门教程,最后最重要的是学一下http跟ajax,要实现前后端动态交互,ajax必不可少!其他的什么方法论,代码研究,完全可以在项目实践中去学习。

对于框架学习,尤其是bootstrap这种UI框架,我并不建议你研究代码,UI框架最重要的是要会用,研究它的代码对你的编程水平,尤其是你现阶段根本毫无用处!

还有你现在重点学习react跟vue这两大js框架,以及基于这两个js框架衍生出来的各种UI框架,现在国内很多公司都在用,angular也有,但相对来说没有前面两个那么火爆。

以上就是我的一点点经验分享,希望对你有所帮助


SpectreX


自学编程有优点也有缺点。

优点是:自由支配时间,时间很灵活,网上课程资源多。

缺点是:没有比较,没有老师指导,不知道自己到底真实的水平如何。容易走弯路。

建议:找到一些大牛的学习路线,将自己的学习阶段分成几个部分。对待每一个部分,明确自己要做个什么项目,然后去学习和实践。在学习的过程中,多实践,然后通过自己的努力,将想要写出的项目自己写出来。在自己完成代码的过程中,切记勿过度追求完美,谨记完成比完美更重要。

另外,在自学的过程中,要学会从市场的角度来思考自己的项目。我们的很多项目是由于社会的需求决定的。如果有相关的同学和朋友在公司里任职,多交流,从需求的角度来分析,那么你自己在学习的过程中,就有重点,有的放矢。


明月照小城


光看教程 不自己练一下手不行的,我也是自学的,自己想一个项目,按自己想的做下来,就会有很大进步。过程中遇到问题一定不要逃避,一定搞明白再往下进行,多给自己挖坑 填多了就好了


该用户已被封停



分享到:


相關文章: