V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
Pandroid
V2EX  ›  问与答

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

  •  
  •   Pandroid · 2011-10-25 21:02:57 +08:00 · 13278 次点击
    这是一个创建于 4810 天前的主题,其中的信息可能已经有所发展或是发生改变。
    我是那个打了鸡血的@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   ·   实用小工具   ·   3591 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 04:37 · PVG 12:37 · LAX 20:37 · JFK 23:37
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.