V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Ipeterh
V2EX  ›  程序员

每天都在学习,突然感觉一直都是在抄代码,崩溃了

  •  
  •   Ipeterh · 2018-12-28 09:49:09 +08:00 · 10098 次点击
    这是一个创建于 2162 天前的主题,其中的信息可能已经有所发展或是发生改变。
    近 4 个月来,每天学习强度在 14 小时以上,前几天突然意识到就是在抄代码。
    上课讲的技术点都明白,业务逻辑也能说清楚,但是代码实现上就只能抄,自己写的跟屎一样,bug 无数。
    现在把之前写项目拿出来,只看接口自己写,复制粘贴的 Util,都能弄出报错,现在一看就报错心态就崩溃了,完全没有以前的状态了。
    以前报错看提示,不懂就翻译,要不就 debug 打断点,看参数传递接收了没有。
    现在只要报错了,就不想写了,三天了,课程也拉下了两天,每天对着代码也不知道在干嘛。
    好压抑。
    zuijinbuzai
        1
    zuijinbuzai  
       2018-12-28 09:57:30 +08:00   ❤️ 1
    复制是正常的, 工作多年也还是在复制. 有点进取心, 就手动抄一遍.

    但是学习阶段, 还是多模仿. 否则谁知道怎么写. 抄多了, 才能有点自己的想法. 心里不用太抗拒.

    遇到错误多搜索, 多积累, 积累多了, 就不用频繁搜索了.
    hsjylaji
        2
    hsjylaji  
       2018-12-28 10:00:51 +08:00   ❤️ 1
    大哥 你这样不符合国情啊
    ThirdFlame
        3
    ThirdFlame  
       2018-12-28 10:03:08 +08:00
    同 1 楼 。
    都是从先抄 开始的。 随着自己对业务和技术的理解,慢慢才能有自己的套路。
    lucahan
        4
    lucahan  
       2018-12-28 10:04:32 +08:00
    这只能说明一个问题,你还是抄少了。抄多了就好了,自然就懂了。
    lovedebug
        5
    lovedebug  
       2018-12-28 10:05:08 +08:00
    上课记笔记
    上完课后尝试找一些相关问题然后回答,不限于面试题,stackoverflow
    回答别人的问题会让你发现自己没听懂。。。
    TomVista
        6
    TomVista  
       2018-12-28 10:12:13 +08:00   ❤️ 2
    不抄代码的人,整个行业都找不出来的.

    上课讲的代码几乎是最优解,别想着折腾这部分代码.重要的是这种代码怎么写出来的.

    复制粘贴出错很正常,不是 是个程序员写的代码都具有强大的可移植性.

    这么颓废,只能说你的新鲜感过去了,10w 钟头的成神之路,有 9.9w 钟头都是枯燥的行为.所有的人都会有这个阶段,无解.

    做点别的事啊,一天 14 个小时学习,程序员要解决的问题大部分都不是技术问题,而是这个**需求谁提出来的,我的刀呢?
    DamonLin
        7
    DamonLin  
       2018-12-28 10:15:00 +08:00
    抄很正常,放松心态
    kefengong
        8
    kefengong  
       2018-12-28 10:18:03 +08:00 via Android   ❤️ 8
    人类的本质就是复读机啊
    nathan2018
        9
    nathan2018  
       2018-12-28 10:21:46 +08:00
    都是抄的,互相抄,抄抄更健康。只有抄到一定阶段你才会有熟悉感,这时候就能有自己的东西了,和学写作文一个样
    Orenoid
        10
    Orenoid  
       2018-12-28 10:23:05 +08:00
    每天 14 个小时,你也太强了吧。。
    我学个两小时就开始想摸鱼了。。有时觉得自己真不适合当程序员
    shuizhengqi
        11
    shuizhengqi  
       2018-12-28 10:29:15 +08:00
    培训班?
    coderluan
        12
    coderluan  
       2018-12-28 10:29:44 +08:00
    复制粘贴这个不是问题,粘贴出 bug 不想调试是问题,这个问题来源也很简单,一个词,过犹不及,楼主把每天学习时间减到 8 个小时就好了,每天 14 个小时,干啥都会烦的。
    kuangwinnie
        13
    kuangwinnie  
       2018-12-28 10:38:15 +08:00
    "现在只要报错了,就不想写了,三天了,课程也拉下了两天,每天对着代码也不知道在干嘛。"

    什么几把,你报错就不想写了也配叫自己程序员?(恨其不争)
    有报错说明你还能想办法找到错误排错然后就能跑通了,报错比你最后跑通了然后根本和你设想的不一样要好得多得多了。

    你心态不能崩,报错是很正常很正常的事
    qilishasha
        14
    qilishasha  
       2018-12-28 10:39:58 +08:00 via iPhone
    起初还有些追求,力求每个项目都在原有项目上重构,现在拿起两年前的项目引用下就提交了,看了一下两年前的代码,写得真鸡儿好🐔
    Aprilming
        15
    Aprilming  
       2018-12-28 10:44:02 +08:00
    培训班的?
    rumengzhenxing
        16
    rumengzhenxing  
       2018-12-28 10:47:46 +08:00
    报错了就改呗,改多了就记得了。
    熟能生巧,也方便理解。
    jingyulong
        17
    jingyulong  
       2018-12-28 10:47:54 +08:00
    国内软件行业起步比欧美晚,偏重于实战技术,少有人去学习基础理论。大部分都是在搬砖,从别人的代码里面要学到猴年马月,先把基础打牢,后面写起来就得心应手了。

    还有一个问题就是功利心太重,如果真的想做好一件事,就要沉下心来,把所有该学的东西学完。

    昨天看完一篇文章“ 16 岁程序媛遭辍学歧视死亡威胁,最终是如何开发出爆款应用的?”,可以看看别人是怎么做的,多思考。一定要有自己的思考,一定要有目标。

    工作与事业不同,事业是我们一生可以为之奋斗的。加油。
    rabbbit
        18
    rabbbit  
       2018-12-28 10:55:19 +08:00
    习惯了就好了
    我 vue cli3 .eslintrc.js 配置死活不生效
    最后才发现,Prettier 的设置要写在.browserslistrc 里,写 eslintrc.js 当然没用...
    就这个玩意折腾了一天...
    dongisking
        19
    dongisking  
       2018-12-28 10:56:24 +08:00 via Android   ❤️ 1
    再次印证了:人类的本质就是复读机
    Mac
        20
    Mac  
       2018-12-28 10:58:38 +08:00 via Android
    @dongisking 另一半是鸽子么?哈哈
    CTO
        21
    CTO  
       2018-12-28 11:01:27 +08:00
    宇宙也是复读机,生亦死,死亦生,循环往复,而且人死了,灵魂仍在 :doge
    putaozhenhaochi
        22
    putaozhenhaochi  
       2018-12-28 11:03:23 +08:00
    习惯就好. 80%是码农 ,20%是程序员
    rabbbit
        23
    rabbbit  
       2018-12-28 11:05:17 +08:00
    browserslistrc -->prettierrc
    qianyugang
        24
    qianyugang  
       2018-12-28 11:08:38 +08:00
    agentzh 大佬当年是整本抄书学起来

    [从抄书到开源之巅:章亦春的程序人生]( http://www.ituring.com.cn/article/504549)
    Yiki
        25
    Yiki  
       2018-12-28 11:10:21 +08:00
    上什么课?
    话说代码不是本来就是抄出来的么……
    LeungV2
        26
    LeungV2  
       2018-12-28 11:12:05 +08:00   ❤️ 1
    听说过个妹子 啥都听不懂只会抄代码的 抄了七八个月还是一年 终于有一天开窍会写代码了
    Light3
        27
    Light3  
       2018-12-28 11:14:06 +08:00
    不应该是 原来改个 bug 看原因一小时 现在五分钟吗??
    倒退??? 滴滴滴?
    woodensail
        28
    woodensail  
       2018-12-28 11:14:30 +08:00
    我以前带过一个就是这样,我当时说过一句:「你写这行代码的时候,真的知道自己在做什么吗?」
    a191243108
        29
    a191243108  
       2018-12-28 11:18:25 +08:00
    抄是一个过程,请放松一下心态~,炒多了也就会了,一口吃了变不了胖子,我当初转行学编程也是一样,炒了一次还写不出来,当时好烦,不过写多了就会了,大家都在这么来的
    SpiderXiantang
        30
    SpiderXiantang  
       2018-12-28 11:19:04 +08:00   ❤️ 1
    14 小时 老哥你也太可怕了 果然我是没见过能这样学习的
    specita
        31
    specita  
       2018-12-28 11:20:05 +08:00
    大学时第一堂课老师就告诉我们,抄代码是最快的学习方式...像我现在都是手动抄的,哈哈
    SpiderXiantang
        32
    SpiderXiantang  
       2018-12-28 11:20:22 +08:00
    报错要开心啊 不就报个错 而且别发死劲去学 写代码是个细水长流的过程
    kios
        33
    kios  
       2018-12-28 11:20:22 +08:00
    人类的本质是什么?
    Rizio
        34
    Rizio  
       2018-12-28 11:21:29 +08:00
    人类的本质是什么?
    whosesmile
        35
    whosesmile  
       2018-12-28 11:21:46 +08:00
    继续抄,等你抄都懒得抄的时候你就大成了,因为你都不需要走大脑,肌肉记忆都会了
    boris1993
        36
    boris1993  
       2018-12-28 11:22:04 +08:00 via Android   ❤️ 1
    14 个小时.......大概你这是累的。适当拿出点时间干点别的,给你的身心放个小假。楼上大佬说的好,过犹不及。

    而且谁写代码不是抄?谁写代码一遍过?
    但是抄,也不是无脑闭眼抄
    就说抄 utils,^C ^V 过来,先通读一遍,理解这代码到底在干嘛;或者先理解思路,然后自己照着思路徒手写一个出来
    然后看看是不是符合我的需求,不符合就动手改
    然后看 JavaDoc 写的是不是足够清楚,不清楚动手改
    然后来个单元测试跑一波,结合项目跑一波,出问题了结合问题排错

    算错数据、报异常啥的,这都是日常,这点屁事心态都能崩还写个 JB,等碰上给别的傻逼擦屁股你不是得跳楼?
    lueffy
        37
    lueffy  
       2018-12-28 11:22:19 +08:00   ❤️ 1
    我也是从抄代码的阶段过来的
    为什么抄,因为看的太快,有时候不过脑子,或者脑子看不进去,吸收不了
    所以手抄,手抄的慢,便抄会边思考
    这句为什么这样写,那句为什么这样,如果不这样写会有怎样的结果,然后可以改改代码,运行一下试试
    我想楼主是不是缺少了思考的环节
    手抄的代码的目的不是 完成 抄这个任务
    而是在抄的过程中 反复琢磨思考
    wangt21
        38
    wangt21  
       2018-12-28 11:22:28 +08:00 via Android
    你学的啥语言最近??
    lueffy
        39
    lueffy  
       2018-12-28 11:23:01 +08:00
    @lueffy 理解错了
    我以为抄 是指手抄.....
    楼主的抄 是指复制粘贴?
    Egg
        40
    Egg  
       2018-12-28 11:23:04 +08:00   ❤️ 1
    没事 写多了之后 你就会开始烦复制 然后抽离代码封装了。
    shylockhg
        41
    shylockhg  
       2018-12-28 11:23:38 +08:00
    我只能告诉你抄不是学习,这是战术辛苦,战略懒惰。
    自己写肯定很痛苦,你坚持不了的话,学习效果会很微弱。
    J2s
        42
    J2s  
       2018-12-28 11:27:03 +08:00
    小时候学语文的时候,也不是从抄开始的么
    a1415788620
        43
    a1415788620  
       2018-12-28 11:28:38 +08:00
    代码一次性过是不可能的,这辈子是不可能的,专精又不会,只能不断改 BUG 维持生活

    边抄边想,什么时候脑回路跟得上作者,就写的出自己的代码啦
    fundebug
        44
    fundebug  
       2018-12-28 11:28:59 +08:00
    每天学 14 个小时也是厉害了。。。
    Tvan
        45
    Tvan  
       2018-12-28 11:37:39 +08:00
    人类的本质是复读机和鸽子,一般情况是复读机,不能复读了鸽~~~
    EscYezi
        46
    EscYezi  
       2018-12-28 11:38:23 +08:00 via iPhone
    放平心态。代码实现可以抄,但是不能一直抄,要明白为什么这么写,然后才能写出自己的实现。否则不就和背书一样了么。培训班的话老师进度很快,讲的不够详细,只讲实现不讲原理太正常了,只能自己多琢磨多思考。尝试独立完成项目,自己来设计整个项目的时候就能慢慢把来龙去脉摸清楚了。
    byteli
        47
    byteli  
       2018-12-28 11:45:45 +08:00
    淡定点,报错是非常正常的,不报错才是不正常的
    享受每一次报错
    而且真正的工作也不都是加功能,维护 /优化的话就是每天修 bug 的过程
    catinsides
        48
    catinsides  
       2018-12-28 11:46:23 +08:00
    #37 手抄的真是厉害了
    tatelucky
        49
    tatelucky  
       2018-12-28 11:49:03 +08:00
    看来你初步明白了 cv 大法了
    Felldeadbird
        50
    Felldeadbird  
       2018-12-28 11:51:09 +08:00
    楼主这是入门级别啊。再深入点,就是面向搜索引擎开发了。
    zeroking
        51
    zeroking  
       2018-12-28 11:53:48 +08:00
    端正心态吧,不要只把眼光局限在代码上。你是在解决问题,尝试着自己去思考问题的解决途径,如果错了,就好好反思为什么,如果对了,就对比一下与正确方法的区别,多思考为什么。这样每一次错误才会让你得到进步。不要把自己当成码农。。。
    Shook
        52
    Shook  
       2018-12-28 11:56:54 +08:00
    报错了不想写,这么残酷的吗?
    写代码,重要的是知道为什么要这么写,所以抄代码的时候还是要好好理解思想,不能一股脑瞎抄一通。
    许多错误都是熟练度问题。错的多了,只要你不对付,慢慢的就能记住为什么错,从而让自己以后再写时,能对一些错误有更好的预防性,所以写出来的代码就越健壮了。
    masker
        53
    masker  
       2018-12-28 12:01:29 +08:00 via Android
    培训机构不都这样啊
    hiddendeerer
        54
    hiddendeerer  
       2018-12-28 12:06:10 +08:00
    学习就是先模仿再创造的过程,话说 14 个小时什么鬼
    Vegetable
        55
    Vegetable  
       2018-12-28 12:12:52 +08:00
    我是不同意这个方式的,抄和抄的差别可大了去了
    上学的时候抄作业,
    学霸抄你作业的时候还能把你写错的地方改掉,你抄学霸的作业不小心名字都能抄上去,这完全不一样.

    抄起码要理解每一行代码在干什么,这无关努力,你现在每天学习 14 个小时,上班了就要像他们讨论的低效奋斗逼一样吗?
    我入行之前不脱产每天学习最多两个小时,节假日偶尔写点小 demo,第五个月的时候找到第一份开发工作.

    学习要先学方法,而不是被自己的努力蒙蔽,技术只是工具,重要的是你自己.
    ooo3o
        56
    ooo3o  
       2018-12-28 12:13:14 +08:00
    在没理解领会之前, 能抄, 抄得明白对自己已经是巨大进步.
    linhua
        57
    linhua  
       2018-12-28 12:20:12 +08:00
    关键不是抄,而是抄完之后过一段时间就忘了,没有转化成长时记忆
    根据艾宾浩斯遗忘曲线,你第一次抄完后,当天晚上或下一天需要复习一遍 (复习的时候可以只复习主要步骤),一个星期后再复习一次,间隔记忆
    zackkson1991
        58
    zackkson1991  
       2018-12-28 12:22:30 +08:00
    学习方法有问题。列出来一个个小的学习点,然后一个个攻破。附带当然会出现很多调试问题,这是一个过程。bug 一般不超过 2 天。耐心一点就好了。记得,要列好自己的一个阶段的学习知识点。多个点连起来了,就是一层网了。多个网连在一起,就。。。。
    Leigg
        59
    Leigg  
       2018-12-28 13:20:59 +08:00 via iPhone
    疯狂报错是因为你是在无脑抄,一点不去看别人实现,别人的环境和你自己的环境会完全一样吗,只能是核心逻辑代码你能抄过来,外头那些传参啥的不得调试修改一下吗。 而且这都是基本的,这也能崩溃?
    再一个就是每天 14 个小时,完全过量了,高质量的学习控制在 3~5 个小时内,其他时间不叫学习叫练习。练习的太久人脑子是会疲惫短路的,不要太激进,每天结束拿几分钟时间来做个当日复盘,学到了什么,哪里没明白,学习方法是否有效等等。 而不是死脑筋,为了学而学。
    mogami95
        60
    mogami95  
       2018-12-28 13:23:32 +08:00
    人的本质就是复读机,想开点。
    每天抄 8 小时代码的码畜路过
    yiyi11
        61
    yiyi11  
       2018-12-28 13:47:53 +08:00
    14 个小时?这谁顶得住啊。
    hxt
        62
    hxt  
       2018-12-28 13:51:50 +08:00
    正常,代码不可能都自己写,不然效率低下,但复制后总要修修改改,加入自己的东西,以及解决 bug。
    virus94
        63
    virus94  
       2018-12-28 13:53:26 +08:00
    边抄边理解,复制粘贴没意义.
    ARhen
        64
    ARhen  
       2018-12-28 14:03:00 +08:00
    老哥 14 小时的强度 你如果专注力真的没问题的话继续,不然就调节一下吧~

    @yiyi11 我 2 小时都有点顶不出.jpg
    746970179
        65
    746970179  
       2018-12-28 14:05:15 +08:00
    现在疯了, 主要就是因为学的东西, 不太理解, 可能同样的知识点, 你抄了好几份
    但是没有归纳理解, 结果, 这些东西在你脑海里就是不同的东西, 占据了太多的位置
    如果你通过思考, 总结, 明白设计思路,
    就能将每个部分中的很多重复的东西略去,
    空出的大脑就能学更多的东西

    给个建议:
    你一定要抽出一点时间, 去归纳总结.
    比如, 拿张纸笔, 去画流程图, 不要好看, 自己能看懂就行
    边画, 边想每一步为什么这么设计, 这个方法为什么要提炼出来
    jhouyang
        66
    jhouyang  
       2018-12-28 14:06:32 +08:00
    openresty 作者春哥就一直有手抄代码的习惯。nginx 的代码人家都抄过多次。
    gimp
        67
    gimp  
       2018-12-28 14:07:30 +08:00
    完美诠释人类本质是复读机

    可是你为什么要搞 14 个小时呢?
    yiyi11
        68
    yiyi11  
       2018-12-28 14:08:31 +08:00
    1.是人都有情绪,休息下端正好心态再继续。
    2.但如果不是那块料或者决定不合适真的及早转行,这行压力很大的。
    zhuanggu
        69
    zhuanggu  
       2018-12-28 14:36:30 +08:00
    14 个小时太久了 适当放松。加油
    zyj20181225
        70
    zyj20181225  
       2018-12-28 14:53:10 +08:00
    大兄弟,你小时候写作文,老师是怎么教你的?
    Ben4zz
        71
    Ben4zz  
       2018-12-28 15:31:03 +08:00
    楼上回答好精彩啊
    brucewuio
        72
    brucewuio  
       2018-12-28 16:47:51 +08:00
    心平气和
    rocksolid
        73
    rocksolid  
       2018-12-28 17:35:19 +08:00
    抄之前先自己想象怎么写
    NullWithMe
        74
    NullWithMe  
       2018-12-28 17:43:31 +08:00
    可以先看一遍,看懂逻辑,然后尝试自己写,写完对比哪里出问题了。
    yhzwy
        75
    yhzwy  
       2018-12-28 23:58:54 +08:00
    多学基础。。
    多抄代码。
    然后多想想自己来写该怎么办。

    其实就是花的时间不够。
    earsonlau
        76
    earsonlau  
       2018-12-29 07:28:29 +08:00
    其实就是你坐电脑前的时间太长了。建议控制在 8-10 小时。
    ugu
        77
    ugu  
       2018-12-29 09:38:23 +08:00
    我比你笨,我工具书都是抄一遍
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1192 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 23:00 · PVG 07:00 · LAX 15:00 · JFK 18:00
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.