V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
KirbySD
V2EX  ›  职场话题

被技术经理指出代码“给人一种想到哪写到哪的感觉”,该补科班课程了吗

  •  
  •   KirbySD · 2021-09-25 00:45:22 +08:00 · 3345 次点击
    这是一个创建于 1190 天前的主题,其中的信息可能已经有所发展或是发生改变。
    • 同时指出业务逻辑没什么问题(毕竟都是 CRUD )
    • 但自己的项目后期维护起来确实有种 Spaghetti code 的感觉
    • 由于非科班,类似于面向对象、设计模式一类的理论了解不深,经常会有“原来这就是面向对象?我早就在用了”的情况
    • leetcode 刷过一些,但感觉里面有些题目有科班知识支撑会更容易理解
    • 想过查询一些 best practise,但一是不太好寻找,二是有种仍然需要科班知识支撑的担忧

    所以 V 友们有什么推荐的科班课程教材吗?
    之前买了本《计算机科学导论》,感觉教材味太重,不太读得下去。希望有理论和实践相结合的书籍
    (毕竟个人对于过于抽象的知识吸收效率很差,需要有实践支撑才能快速理解)

    22 条回复    2021-09-28 17:22:08 +08:00
    shiji
        1
    shiji  
       2021-09-25 01:03:56 +08:00 via iPhone   ❤️ 1
    那就补补对象编程和设计模式。

    别在计算机科学导论上浪费时间。
    一般推荐你看这本书的人自己都没怎么看。为了显得自己牛 b 才去推荐的。
    stimw
        2
    stimw  
       2021-09-25 01:20:17 +08:00 via Android   ❤️ 1
    光看科班书确实没啥好看的,《导论》这种书更是味同嚼蜡。

    理论实践相结合还是需要去跟一些名校公开课,比如 MIT 、UCB 、Standford...很多课的精华都在 lab 、project 上,完整跟下来肯定是有很大收获的。但是这个时间值不值得花也是看人...
    johnwood
        3
    johnwood  
       2021-09-25 01:27:22 +08:00
    说个最近的体会。

    基础框架对代码的规范作用往往被忽略了。
    像 Web 框架 Spring 、Nestjs,已经内化了很多概念、很多经过多年验证的模式、best practice 。
    选这样的成熟框架可以很好的帮助提升代码的组织结构。
    Kobayashi
        4
    Kobayashi  
       2021-09-25 01:55:29 +08:00 via Android   ❤️ 6
    方向错了。计算机导论、算法不属于你作为后端的技能点。以前听别人扯淡提到过类似观点, [程序员如何避免青春饭-哔哩哔哩] https://b23.tv/npQo6N

    计算机科学导论、编译器原理、TCP 协议等属于底层基础,你干活是应用层的事,中间隔着好几层对于你没有任何影响。
    算法属于八股(至少对后端来说是这样),只在面试会用到。考算法和高考、考研没太大区别,考完可能完全用不到,是学习能力的一种考察方式罢了。

    设计模式可以读读,但平时写的时候可能想不起来。建议多翻一翻自己常用框架、库的源码,看看行家们是如何设计项目的,能对应到哪种设计模式。近朱者赤,近墨者黑,研究行业大师们写的东西总能混到点经验。注意自顶向下,从应用层往下打。一些反例:研究框架原理直奔 socket 连接创建;研究网络协议直接 TCP 。
    ericls
        5
    ericls  
       2021-09-25 01:58:31 +08:00
    写 10,000 个小时就好了

    Be pragmatic
    Kobayashi
        6
    Kobayashi  
       2021-09-25 02:01:00 +08:00 via Android
    感觉我回的还是有点歪了,业务上的设计问题,框架、库关系好像也不大。设计好项目还是得参考现成的、流行的同类型项目源码。
    potatowish
        7
    potatowish  
       2021-09-25 09:39:34 +08:00 via iPhone
    想到哪写哪是逻辑不清晰,结构混乱,多看看优秀框架源码,多动手实践,和刷题、计算机基础关系不大
    mxT52CRuqR6o5
        8
    mxT52CRuqR6o5  
       2021-09-25 13:37:42 +08:00 via Android   ❤️ 1
    和科班课程没关系,你这个属于是缺少最佳实践的经验和理解
    写之前多想想,想明白整体上要写的代码逻辑是什么样的
    sy20030260
        9
    sy20030260  
       2021-09-25 19:05:34 +08:00   ❤️ 1
    多看看其他优秀同事的代码,这样学习效率会比看书来得快得多。mentor 说你代码不行不就意味着有其他同事写得比你好嘛,看他们的代码,先模仿着写,然后不理解的地方当面咨询。工程问题的很多 insight 并不是在科班课程能教会你的,科班更多的是解决学术问题~
    forgottencoast
        10
    forgottencoast  
       2021-09-25 21:00:24 +08:00
    @Kobayashi 看了半天都在摆弄窗口。
    Kobayashi
        11
    Kobayashi  
       2021-09-25 21:33:35 +08:00
    @forgottencoast 你是说那个 B 站视频,我记得本来价值就不大,没有大纲比较啰嗦,倍速随便听听就好。
    liberty1900
        12
    liberty1900  
       2021-09-26 01:23:33 +08:00 via Android
    mit ocw
    jimiton
        13
    jimiton  
       2021-09-26 05:59:07 +08:00
    就模仿队友里面代码比较好的同事,如果有 Code Review 就更好了
    TomVista
        14
    TomVista  
       2021-09-26 08:36:18 +08:00
    有人帮忙用通俗朴素的语言描述一下 “给人一种想到哪写到哪的感觉” 吗?
    nockyQ
        15
    nockyQ  
       2021-09-26 09:35:18 +08:00
    听起来只是需要增加一下可读性?《代码整洁之道》或许有点用?
    nockyQ
        16
    nockyQ  
       2021-09-26 09:39:23 +08:00   ❤️ 1
    @TomVista 大概就是在着手开发前缺乏整体设计 然后又没有使用通用且方便理解的代码结构去完成功能?
    Jie0zero
        17
    Jie0zero  
       2021-09-26 10:17:22 +08:00 via Android
    直接看队友的代码,模仿就行,看书是长期回报,短期不明显
    dany813
        18
    dany813  
       2021-09-26 14:07:51 +08:00
    谁牛逼就抄谁的
    felixliu95277
        19
    felixliu95277  
       2021-09-26 15:35:08 +08:00
    模仿那些不是想到哪儿写到哪儿的同事的代码风格和模块设计,写多了就好了
    yamasa
        20
    yamasa  
       2021-09-26 16:39:33 +08:00
    《 clean code 》《 refactor 》这几本书真的每个搞软工的都该看看。而且 OO 也要多找好的资料看看,接口,虚拟类,继承多态,设计模式这些也不是前人为了搞玄学搞出来的,是真的管用。
    xiaojie668329
        21
    xiaojie668329  
       2021-09-26 22:19:09 +08:00 via iPhone   ❤️ 1
    @TomVista 大概就是功能没有想清楚就开始动手写,代码很啰嗦,存在一些重复的逻辑自己也没发现,该抽象的时候也不抽象,完全没有可复用性;改这些代码的时候只能在后面按照原有的思路加一段逻辑。
    hhjswf
        22
    hhjswf  
       2021-09-28 17:22:08 +08:00
    做业务不就是这样嘛,真正做到面向对象活用设计模式没个七八年沉淀不行吧,行业 top 水平了,不能拿来要求大多数人
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2069 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 00:46 · PVG 08:46 · LAX 16:46 · JFK 19:46
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.