新手学编程,应该怎么学?
更新日期:
新手学编程,应该怎么学?
以下纯属个人见解,大神勿喷。
1.应该先学知识点吗?
个人经验表明,学编程,最开始拿一个月先学知识点或者只学知识点,基本就等于没学。于是你发现你很努力的看了一个月的书,还是什么都不会写,或者写出来了一坨bug都不知道怎么改,终于你放弃治疗了。当然,骨骼清奇的可能21天精通C++,然后妈妈再也不用担心他的编程了。人跟人的情况不一样,所以这里不是绝对的,但是我觉得对楼主的情况还是比较符合的。
不看书那应该先写代码?
你发现,你不看书,完了直接写代码又什么都不会,于是你表示要先学代码,完了你又懵了,先学代码怎么学?很多人又跑去看书了。。额,接下来发生了什么,这里参见第一条。
书是干什么用的?
我觉得书更多的时候就是参考文档,就Android来说,谁最懂Android?当然是谷歌,那么问题来了,参考文档哪家强?不找官方文档你还要去找蓝翔么?Android官方文档
至于其他的中文书,我觉得很多都夹杂了个人的见解,初学者慎入,不然很容易接触不到原汁原味的理念和思想。如果觉得英文的官方文档很蛋疼,看看翻译过来的中文版也可以。
不看书也不先写代码难道要去山东找蓝翔吗?
如果你发现你学了一个月,看了一个月的书,还是什么都不会,那接下来你要么放弃治疗,要么吃口药开始从别人的代码读起来啊。那么问题来了?别人的代码哪家强?不找官方的demo你还要去山东找蓝翔么?android samples
当然以上我提到的所有界面你如果不翻墙,可能都打不开,看着一坨无法连接可能你还会有一种要去山东找蓝翔的赶脚,不过不用怕, 你想要的这里都有,GitHub,你值得拥有。
其实这里说的就是题主说的,在应用中学习,但是在应用中学习的方式也是有区别的。
5.读别人的代码应该怎么读?
如何读别人的代码我写过一篇自我体会的博客,如何阅读别人的代码,自知水平一般,大神就不用点了。
6.读别人的Android代码应该怎么读?
注意千万别上来就一个一个文件地通读,相信我,其实不用相信我你也会发现根本读不明白的。什么?读当然要读明白才有用啊?废话,你丫直接通读就能读明白了还读他干啥。
其实读什么代码都先得搞明白数据的走向,具体到Android身上,他是有MVC层的。
View层在Android里其实就是传说中让无数开发人员蛋疼菊紧,闻风色变的UI适配,具体讲就是res/layout/.xml那堆东西。
Model跟Controller层就是.java了。这个分的不是很清楚,你可以自己作区分。
说通俗点你要懂得:
前端的一个数据用户输入进去,你要在后台如何获取到。
你后台的一个数据,如果反馈给前端。
做到这你会了点毛?你发现你毛都不会,但是这个时候其实你已经知道部分Android的文件夹之间是干什么的,之间是如何协作的。
什么?你说你还是没看懂啊,在心里问自己bin文件夹里是啥?res/layout以外的文件夹是啥?
大声的对自己吼一句:劳资怎么知道,我又没用到那呢。
不要再问搞不明白怎么往下学了?你刚开始的时候知道res/layout是干什么的吗?那现在呢?
7.为毛要读别人的代码?
写代码的最终目的是执行,所以你从一个能执行的程序开始,能很快的验证自己的学习到底对不对。
什么?你问我怎么验证?你改了以后他成功跑出了结果就说明你学的是对的啊。跑错了显然就是错的。
别人的代码好处就在于他都写好了,虽然你毛都看不懂。但是他能顺畅地跑起来。当然,除了用了你的电脑编译器编译了下,再用了你的手机安装呈现了以下,现在这事跟你半毛钱关系都没有。
但是你可以输出啊亲,这时候你必须给自己壮壮士气:“尼玛劳资虽然还不会Android,但是改个String值还是会的。” 所以你成功的将前台textView里的“A”改成了“B”。虽然你完全不知道发生了什么。但其实你已经知道数据输出到前台的最后一步是什么了。
搞到这,既然你已经成功的在屏幕输出了一个B,那么你可以装逼点说自己已经入门了.虽然你还是不懂别人的那坨代码。但是你已经潜意识地把代码细化到了某个点上开始逐个突破了。
8.读到什么时候能学会?
读啊,接着读,再接下来呢?接下来就是按需学习了啊。
比如你想加个按钮,你就可以搜一下Android button的东西看一看,然后发现了xml里的<button/>
和java里的findViewById()
,setOnclickListener()
.
比如你想向用户显示一些帮助/提示.于是你发现了Toast这个玩意。
什么?别人问你什么是Service,告诉他:“劳资不是不会Android,劳资压根没用到过那东西,要学的东西这么多,我现在还用不着先学他干啥。”
比如你。。。。。
若干个比如以后你发现,我凑,劳资当年改String值的时候怎么会觉得findViewById这个鬼函数这么难。
再若干个比如以后你发现,尼玛,劳资什么时候学会的Android
以上。
本文回答在知乎:安卓开发学习应该先学知识点再做应用还是在做应用中学习?