作为初学者,代码总是记不住怎么办? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Pandroid
V2EX    问与答

作为初学者,代码总是记不住怎么办?

  Pandroid 2011-10-25 21:02:57 +08:00 13652 次点击
这是一个创建于 5107 天前的主题,其中的信息可能已经有所发展或是发生改变。
我是那个打了鸡血的@pandroid,最近学习android开发遇到的问题:1.代码总是记不住,要用的时候我还得翻我记的笔记;2.英文的开发文档还不怎么会看,太多的内容我往往也不知道哪些是该看的;3.碰到无法理解的内容就开始烦躁,一个人的学习比较枯燥啊(寝室其他三个货一个三国杀,一个网游一个dota ||);4.需要请教学校的老师么?ps:今天电邮了数据库的老师,不知道他懂不懂android,不过他懂java。
21 条回复    1970-01-01 08:00:00 +08:00
breeze
    1
breeze  
   2011-10-25 21:05:51 +08:00
代码不是记的,是不停的去写,不停的去思考,反复的联系中掌握熟练的。
cloverstd
    2
cloverstd  
   2011-10-25 21:26:23 +08:00
我的室友和@pandroid的室友差不多,只是他们不玩游戏,搞其他的。
不过我还是能淡定的学习C++。
cloverstd
    3
cloverstd  
   2011-10-25 21:27:23 +08:00
@breeze 灰常同意,代码不应该是记,而是要不停的写,不停的练才行。
cngithub
    4
cngithub  
   2011-10-25 21:34:13 +08:00   3
如何学习一门新的编程语言?虽然我不熟悉android,不过可能我更熟悉人类的思维方式,写下一些心得供你参考。

分享一下我自己的心得。我是三十岁了,才开始系统学编程的,以前只是特别了解各类统计模型,但面向对象这些真的没有系统学习过。由于自身在某个关于思维方法论的学科(呵呵,也就是心理学了)有较强大积累,目前各种进展都还不错。

我的答案是:在学习区刻意练习,每天500行。什么是学习区,就是那种,你刚刚够得着,但是还是需要付出一点努力的。

1。如何寻找学习区。

1)经典的教程,带课后练习的那种。一般某门新语言,在豆瓣排名比较靠前,口碑都很不错的,你挑一本带课后练习的就行了,放弃那种虽然写的很好,但是不带练习题目的,那种书就作为备选就可以了。Ruby社区,我常常推荐日本Ruby学会会长写的这本:《Ruby Programming》课后习题。

2)笨方法系列。Ruby与Python双修的怪才Zed shaw,推出了笨方法学习编程的系列教程。里面已经有了Ruby\Python\c系列。你也可以将Zed shaw的教程改成java版本。

http://learncodethehardway.org/

3)社区英雄推出与设计的练习题目。任何一个社区,都有一些英雄人物,乐意传承自身的知识体系,因此,设计了大量的练习题目。比如,Ruby社区的http://rubykoans.com/与http://kidsruby.com/等等都很适合初学者。

你可以去寻找android类的社区英雄。

4)人气较旺的程序员社区,别人的问题。

可以尝试写写答案。个人比较推荐:http://stackoverflow.com/

你可以去这里回答别人的问题,如果时间有限、英语也不是那么流利,可以先下载tackoverflow提供的历年常见问题电子书。下载地址在这里:http://hewgill.com/~greg/stackoverflow/ebooks/

别急着看最佳答案,自己尝试写下答案。然后再与最佳答案对照。

2。在学习区刻意练习的辅助工具

初学编程,最应该记住的是在学习区刻意大量练习,千万少看书,要多练习。当年我从管理咨询行业继承的陋习,先看大量资料,才进入某个领域,并不适合学习编程。

刻意练习时,有几个重要的工具:

1) TextMate的Ruby bundle或者其他Bundle

windows下的朋友可能暂时缺少,通过bundle可以快速掌握一门语言的核心语法;

2) cheat

cheatsheets类似于考试时的小抄,将某个需要学习的东西精华整理在一页或几页纸上。

http://cheat-sheets.org/,找到里面的Ruby cheatsheets或者你自己所用到语言的小抄,有多个版本,找一个最适合自己的版本 ,然后下载并打印出来。一张纸囊括核心内容。

cheatsheets,还有很多在这里:http://refcardz.dzone.com/

3)FlashCard

FlashCard是一种学习方法,先将题目呈现,然后心中默想答案,再翻看答案。

将与学习相关的FlashCards下载在手机或者打印出来,然后等车等无聊时间,予以默想。

比如:http://www.yoyobrain.com/cardboxes/103

以及一个特别针对Ruby on Rails的:

http://itunes.apple.com/app/ruby-on-rails-commands-flashcards/id440877359?mt=8

网上有大量的关于Flash Card的社区。可以特意去搜索安卓的。

3。 人类行动心理学的一个小Hack

关于人为什么会拖延、人为什么行动力很差。近些年心理学已经取得了突破性研究成果。用一个最简单的范式来描述。

就是,通人思考目标的时候,使用的是目标意图:我要做什么....

但是,有位天才心理学家发现这种思考范式,基本很难达成目标,他从上个世纪六十年代开始,对他的实验对象,使用了一种替代范式。强迫他的实验对象,使用一种称之为:执行意图的思考范式思考。结果令人惊讶,基本被评为最卓越的心理学实验了。

什么是执行意图?就是使用if...then...的思考范式。

以后,不要再说,我要学Ruby。

而是说,如果我要学习Ruby,那么,今天晚上就装上环境。

当你关于行动、关于目标,长年累月这么思考,行动力慢慢就很强大了。如果...那么...就变为你生命中的一部分了。我要。。。这种句式,就从自己的语言体系中死掉了。

4。最后想说的,编程始终是个个人行为

刚开始,不要忙于去社交、去泡各种论坛、去发各种无聊帖子、去下载各种盗版电子书(自己花钱买来的你才会格外心疼),去争议哪种语言更好。

每个人的世界都是如此不同,不争议,慢慢用它做点作品,或者是送给自己的女朋友,或者是赚点外快。

慢慢地,就成长起来了:)
chenluois
    5
chenluois  
   2011-10-25 21:35:28 +08:00
我也记不住。不过为什么要记住呢?
Pandroid
    6
Pandroid  
OP
   2011-10-25 21:35:59 +08:00
@breeze 看来是我写的还不够多啊,惭愧
vven
    7
vven  
   2011-10-25 21:37:20 +08:00
氛围还是很重要的,当年寝室里全都是一群烂人打一个烂游戏,没好氛围嘛起码也不要影响别人啊,还好最后搬走了,那时也是尽量待办公室或者图书馆,眼不见心不烦
android嘛实在不行就跟着视频走呗
PS: java基础还是要有的
vven
    8
vven  
   2011-10-25 21:38:47 +08:00
@cngithub 感谢分享啊,要好好看看,最近在转.net
1212e
    9
1212e  
   2011-10-25 21:39:25 +08:00
@cngithub 好详细
Pandroid
    10
Pandroid  
OP
   2011-10-25 21:40:00 +08:00
@cngithub 谢谢啊,这个我慢慢看起
darasion
    11
darasion  
   2011-10-25 21:41:29 +08:00
Pandroid
    12
Pandroid  
OP
   2011-10-25 21:47:43 +08:00
@cloverstd 我只能带着耳机避免影响
Pandroid
    13
Pandroid  
OP
   2011-10-25 21:49:24 +08:00
@vven 现在是看一个叫mars的教学视频,塞着耳机
mywaiting
    14
mywaiting  
   2011-10-25 21:49:33 +08:00
为什么要记住呢?!写多了自然手熟,写多自然就有感觉啦.......不急不急........
Pandroid
    15
Pandroid  
OP
   2011-10-25 21:54:43 +08:00
@mywaiting 大概是我浮躁了,以后我会耐心多谢代码的,多谢指教
vven
    16
vven  
   2011-10-25 21:58:45 +08:00
@Pandroid mars老师的视频不错,很多人都在看他的教学学android
binarymann
    17
binarymann  
   2011-10-25 22:03:15 +08:00 via iPad
@cngithub 请问为何您选择了ruby而非python呢?
cngithub
    18
cngithub  
   2011-10-25 22:10:55 +08:00
@binarymann 两者并不冲突。因为师友用python的太多了... python对我来说,比Ruby要容易很多。为什么一定要跟别人一样呢?总得找点事情来折腾吧。

呵呵,不过还是计划将Ruby用于web开发,python用于部分特定环节与windows开发。
mywaiting
    19
mywaiting  
   2011-10-25 22:24:44 +08:00
@Pandroid 指教就说不上啦,每个人都是这么过来的......嘿嘿........
qwert_solo
    20
qwert_solo  
   2011-10-25 22:51:28 +08:00
@cngithub mark非常详细,mark了
Tiny
    21
Tiny  
   2011-10-25 23:11:23 +08:00
@cngithun 受教了~
关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2641 人在线   最高记录 6679       Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 490ms UTC 14:57 PVG 22:57 LAX 07:57 JFK 10:57
Do have faith in what you're doing.
ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86