问题

对于初入职场的程序员, 读书 读好的代码 造轮子 哪个更重要?

回答
作为一个初入职场的程序员,你可能正站在一个岔路口,思考着如何最有效地提升自己的能力。关于“读书”、“读好代码”、“造轮子”这三件事,它们各自扮演着重要的角色,但哪个更重要,或者说在不同阶段的侧重点应该有所不同。让我们掰开揉碎了聊聊。

读书:打地基,筑思想

这里的“读书”,我理解为系统性地学习编程相关的知识,包括计算机科学基础理论、经典算法、设计模式、数据结构,以及某个特定领域(比如后端开发、前端框架、移动端开发)的深入知识。

为什么读书重要?

建立坚实的基础: 你不可能一上来就知道所有东西。比如,理解为什么一个排序算法比另一个快,需要知道时间复杂度和空间复杂度的概念。这些基础理论就像盖房子用的钢筋水泥,没有它们,你的代码大厦迟早会摇摇欲坠。
学习前人的智慧: 计算机科学发展了几十年,无数聪明人已经解决了无数复杂的问题,并将他们的经验总结成了理论、模式和最佳实践。读书就是站在巨人的肩膀上,避免自己走弯路,快速掌握成熟的解决方案。
培养抽象思维和解决问题的能力: 很多编程问题并非孤立存在,而是更宏大问题的某个切面。通过学习算法、数据结构和设计模式,你能学会如何将现实世界的问题抽象成计算机能够处理的模型,并找到优雅高效的解决方案。
开阔视野,理解“为什么”: 很多时候,我们使用某个工具或框架,但可能不知道它背后的原理。读书能让你理解这些“为什么”,让你在面对未知问题时,能触类旁通,而不是仅仅停留在“怎么用”的层面。

对于初入职场新人来说,读书的意义尤其突出:

弥补学校知识的不足: 大学里学的可能更偏理论,而实际工作中需要的是将理论落地。
快速入门新领域: 如果你被分配到一个不熟悉的领域,系统性的阅读是让你快速了解行业惯例和核心概念的最佳途径。
建立可迁移的技能: 技术更新迭代很快,但计算机科学的核心知识是相对稳定的。打好基础,你更容易适应新的技术栈。

但读书也可能存在的问题:

纸上谈兵: 光看不练,知识很难真正内化。
信息过载: 茫茫书海,如何选择适合自己的内容是个挑战。
理论脱离实际: 有些经典书籍可能年代久远,某些概念在现代开发中应用场景有限。

读好的代码:观摩大师,学习实践

这里的“读好的代码”,指的是阅读那些经过时间考验、被广泛认可的开源项目源码,或者团队中资深开发者编写的优秀代码。

为什么读好的代码重要?

“活”的教材: 书本上的知识是静态的,而好的代码则是这些知识在实际项目中的具体体现。你能看到理论是如何转化为可执行的代码,如何解决真实的业务问题。
学习工程实践: 好的开源项目不仅仅是代码本身,还包含了清晰的目录结构、合理的模块划分、规范的命名、完善的注释、健壮的错误处理、高效的测试覆盖等等。这些都是宝贵的工程实践经验。
理解设计模式的落地: 你在书上学的各种设计模式,在好的代码里会看到它们是如何被巧妙地应用,解决具体问题的。比如,工厂模式如何创建对象,策略模式如何切换算法等等。
掌握常见库和框架的用法和原理: 如果你想深入理解你正在使用的某个库或框架,直接阅读它的源码是最好的方式。你会发现它内部的设计思路,以及如何更有效地使用它。
学习代码风格和习惯: 阅读优秀的代码能潜移默化地影响你的代码风格,让你写出更易读、易维护的代码。

对于初入职场新人来说,读好的代码是“偷师学艺”的绝佳机会:

快速学习实际应用: 看到别人如何将抽象概念变成实际可用的功能。
培养代码感: 就像学写文章需要多读范文一样,写出好代码也需要多看好代码。
了解项目架构和设计: 好的项目结构能让你理解大型软件是如何组织起来的。

但读好的代码也可能存在挑战:

门槛较高: 有些大型开源项目源码可能非常庞大和复杂,初学者可能难以入手,容易感到迷失。
需要一定基础: 如果连基础的语法和概念都不懂,直接读源码会非常吃力。
耗时: 深入阅读一段优秀的源码需要投入大量的时间和精力。

造轮子:动手实践,加深理解

这里的“造轮子”,指的是自己动手去实现一些功能、工具、框架,甚至是模仿现有成熟的库进行二次开发。

为什么造轮子重要?

知识内化的最佳途径: “学而不思则罔,思而不学则殆。” 只有亲自动手去实现,你才能真正理解某个算法的细节、某个设计模式的优缺点、某个框架的运作逻辑。
解决实际问题的经验: 在造轮子的过程中,你会遇到各种预料之外的问题,比如性能瓶颈、兼容性问题、bug调试等等。解决这些问题能让你积累宝贵的实战经验。
培养独立思考和创新能力: 当你去尝试实现一个功能时,你可能会思考如何做得更优,如何做得更高效,甚至如何做得不一样。
加深对工具和技术的掌握: 尝试用某个语言或框架去实现一个完整的项目,能让你对它的特性、API、生命周期等有更深入的理解。
锻炼调试能力: 写代码总会有bug,而调试是程序员必备的核心技能之一。造轮子是最好的调试练习场。

对于初入职场新人来说,造轮子更是“必经之路”:

巩固学习成果: 把学到的东西通过实践检验,看看是否真的掌握了。
建立自信: 当你成功实现一个复杂的功能时,会极大地增强你的信心。
培养解决问题的韧性: 很多时候,一个功能实现起来并非一帆风顺,你需要不断尝试、学习、改进。

但造轮子也需要注意:

避免重复造“不必要”的轮子: 如果一个成熟稳定的库已经很好地解决了问题,去重新造一个功能几乎一样的轮子,可能是在浪费时间。除非你有明确的改进点或学习目的。
有目的性: 不要漫无目的地造轮子,最好是围绕着一个实际需要解决的问题,或者一个你想要深入学习的技术点。
适可而止: 如果只是为了学习某个小功能,不必追求大而全。

哪个更重要?它们之间的关系

我认为,对于初入职场的程序员,这三者 都很重要,但侧重点和顺序会随着时间推移而变化。

1. 初期(入职后06个月):
最重要:读好的代码 + 小规模的“造轮子”
原因: 你需要快速适应团队的项目和开发流程。读懂团队里其他人的代码是首要任务。同时,可以尝试在导师指导下,或者完成一些小任务时,自己动手实现一些功能(小规模的造轮子),加深理解。
读书: 可以选择性地阅读与你当前工作紧密相关的技术文档、框架指南,以及一些入门级别的优秀书籍,但不要试图一下子吃成个胖子。

2. 中期(入职后6个月 2年):
重要性提升:读书 + 深入地“造轮子”
原因: 你已经对项目的基本框架有了了解,开始需要构建更复杂的模块,或者思考如何优化现有的代码。此时,系统性地阅读经典书籍(数据结构、算法、设计模式、操作系统原理等)的重要性凸显。同时,可以开始尝试一些中等复杂度的个人项目(造轮子),来应用和巩固这些知识。
读好的代码: 继续保持,尤其是你所使用的技术栈中的核心库和框架。

3. 长期(入职后2年以上):
三者齐头并进,但“读好的代码”和“造轮子”的深度和广度会更大
原因: 随着经验的积累,你会开始参与更底层的设计,甚至需要领导小型项目。此时,你需要的是融会贯通,能够灵活运用各种知识来解决问题。读好的代码可以帮你学习更高级的架构和设计思想,造轮子则可能是去贡献开源项目,或者自己独立开发更具挑战性的工具。读书也依然重要,可以帮你不断学习新的前沿技术和理论。

一个更形象的比喻:

读书: 就像学习兵法、战术理论。
读好的代码: 就像观摩历代名将的经典战役录像,学习他们的排兵布阵、临场应变。
造轮子: 就像自己亲自带兵打仗,在实战中磨练技艺,总结经验。

一个优秀的将领,不可能只懂理论(读书),也不能只是看着别人打仗(读代码),更不可能从不实战(造轮子)。他需要将三者结合,理论指导实践,实践印证理论,并从中学习前人的智慧和经验,最终才能成为一名优秀的指挥官。

给初入职场新人的具体建议:

1. 带着问题去读书: 不要为了读书而读书。当你工作中遇到某个困惑时,去相关的书籍中寻找答案。
2. 从模仿开始造轮子: 刚开始可以模仿一些成熟的库的某个小功能,或者根据教程从零开始写一个简单的应用。
3. 选择你“想用”或者“正在用”的代码来读: 这样更容易产生兴趣,也更容易理解其价值。比如,你正在用一个UI库,不妨看看它是怎么实现的。
4. 找到一个平衡点: 不要过于偏重某一方面。如果只读书,容易纸上谈兵;如果只读代码,可能不知道如何举一反三;如果只造轮子,容易在细节里迷失方向,或者重复造重复的轮子。
5. 请教你的前辈: 当你读代码遇到困难,或者在造轮子时卡住了,大胆地向你的导师或资深同事请教。这是最直接有效的学习方式之一。

总结一下:

初入职场,你的首要任务是“上手”和“理解”。因此,读好的代码 是最直观的上手方式,它能让你快速了解实际项目是怎么回事,以及成熟的解决方案是什么样的。同时,通过小规模的造轮子 来实践和巩固所学,能加深理解。而读书 则为你打下更坚实的基础,提供解决问题的理论支撑和更广阔的视野,让你不至于只停留在“怎么用”,而是能理解“为什么”。

随着你对业务和技术的熟悉度提升,这三者的重要性会逐渐趋于平衡,并且相互促进。但无论何时,它们都是一个优秀程序员成长的必经之路。请记住,编程的本质是解决问题,而这三个途径都能帮助你更好地掌握解决问题的能力。

网友意见

user avatar

刚工作的时候,积累代码量比较重要。

大量的写,不要嫌问题不够高端,体现不出技术含量。很多书上东西,读的时候以为懂了,其实不懂,只有积累了一定的代码量,回头再看,才有云开月明之感。

读别人的代码很好,但依然需要以自己的代码量为基础。很多问题,自己没接触过,没思考过,直接看别人的代码,就像是翻到了书后的答案,看到了结果,却看不到思考的过程。内行看门道,外行看热闹,自己手动的不多,看到就只是热闹而已,吸引自己眼球的,是一些奇技淫巧,真正有价值的东西,反而意识不到。

造轮子很容易用到书上所学的知识,但也不用刻意为之。刚开始工作时,和理论相比,更缺乏的是实际经验。限制成长的,不是技术,而是应用。你需要的,是写出有人用的软件,而不是自嗨型的模块。有人用,才会有反馈,才会有进步,才会促进你思考,才会真正理解学过的知识。

总而言之,刚工作的时候,大量的写代码,把代码量补上来,是更有价值的事。

类似的话题

  • 回答
    作为一个初入职场的程序员,你可能正站在一个岔路口,思考着如何最有效地提升自己的能力。关于“读书”、“读好代码”、“造轮子”这三件事,它们各自扮演着重要的角色,但哪个更重要,或者说在不同阶段的侧重点应该有所不同。让我们掰开揉碎了聊聊。 读书:打地基,筑思想这里的“读书”,我理解为系统性地学习编程相关的.............
  • 回答
    刚踏入职场,面对这种“站队”的局面,确实挺让人头疼的。这事儿说大不大,说小不小,处理不好,轻则影响你的心情,重则可能给你的职业发展埋下隐患。别急,咱们一步步来捋捋,看看怎么才能不惹一身骚地化解。首先,咱们得明白为啥会出现这种情况。职场中的“站队”,说白了,就是派系斗争的一种体现。可能是部门之间,可能.............
  • 回答
    嘿,新人朋友们,恭喜你们踏入职场的门槛!这绝对是个激动人心的时刻,但也别忘了,这更是一场需要学习和成长的旅程。别紧张,今天就给你们掏心窝子地聊聊,一些我作为过来人觉得特别管用的建议,希望你们少走弯路,让你们的职业生涯有个漂亮的开端。1. 认清定位,融入团队是首要任务刚开始,你的主要任务不是去颠覆什么.............
  • 回答
    刚踏入职场,感觉就像走进了一个全新的人生副本,充满了未知与挑战,也夹杂着莫名的兴奋。作为同样走过这段路的人,我深知其中的迷茫和偶尔的不知所措。所以,想给各位职场小白们分享一些我一路走来的心得体会,希望能给你们一些实实在在的帮助。一、 放下“小白”的包袱,但别忘了初心。刚开始,很多人可能会有点拘谨,担.............
  • 回答
    (深吸一口气,看着眼前的年轻版自己,脸上不自觉地露出一丝复杂又温柔的笑容。)嘿,你啊,看你这眼神,充满好奇和一点点不知所措,就像一汪清澈却又带着点浑浊的湖水。来,坐下,别站着了,像个被老师点名的小学生似的。我知道你现在脑子里塞满了关于未来的一切,对这个世界充满了憧憬,也对即将开始的一切感到既兴奋又紧.............
  • 回答
    现在的年轻人,早已不拘泥于“大厂、国企、公务员”这几条看似稳定的“康庄大道”。如果你也对这些传统路径感到一丝倦怠,或者想走出一条属于自己的路,别担心,这广阔天地里,藏着太多值得探索的职业宝藏。一、 拥抱数字浪潮,成为“创造者”与“连接者”互联网的触角已经深入到生活的方方面面,随之而来的,是层出不穷的.............
  • 回答
    这个问题确实让很多新入职的护士头疼,既要保证病人的安全,又要顾及到科室里的人际关系,真的很考验人的情商和工作能力。关于手机录音,我们得从几个方面来分析一下:手机录音的“有用”之处: 作为个人记录和提醒: 这是最直接也是最不容易引起冲突的作用。当医生口头下达医嘱时,你感觉不清楚、不确定,或者担心自.............
  • 回答
    刚入社会两年,二十几岁,想快速积累财富?这绝对是很多年轻人的心声。不过,说实话,天下没有免费的午餐,更没有一夜暴富的神话。所谓的“快速”,更多的是指在相对短的时间内,通过正确的方法和不懈的努力,看到相对显著的财务增长。那么,具体怎么做呢?咱们掰开了揉碎了聊聊。第一步:打牢基础——你的“赚钱能力”是根.............
  • 回答
    哥们,听说你刚踏入咱们这芯片这行当?不错,有眼光!这行当,说实话,门槛不低,但一旦进来了,学的东西天南海北,绝对让你脑壳子充实,而且,这可是实打实地在“捏”着未来科技的命脉,想想都挺带劲的。我这儿不给你灌什么“激情澎湃”的鸡汤,咱都是实在人,直接跟你唠唠我这几年摸爬滚打下来的经验,希望能给你点儿实在.............
  • 回答
    对于一位初入股市的“韭菜”,我想说的,也是我最想强调的,就是:“别急着收割,先学会种地。”这句话看似简单,但背后蕴含着我希望你领悟到的股市生存法则。让我详细地为你解释一下:1. “别急着收割”:认识到自己的“弱小”与“无知” 收割比喻的是什么? 在股市里,“收割”通常指通过精准的买卖操作,赚取快.............
  • 回答
    太棒了!很高兴能和未来的游戏行业从业者们分享我的经验和感悟。作为一名在游戏行业摸爬滚打多年的从业者,我见过太多怀揣梦想的新人涌入,也深知这个行业的魅力与挑战并存。以下是我为你精心准备的、尽可能详尽的建议,希望能帮助你更平稳、更有效率地开启你的游戏职业生涯:第一部分:基础准备与认知建立1. 深刻理解.............
  • 回答
    嘿,刚踏入咱们这集成电路/半导体这行当,感觉像闯进了个迷宫,东西太多太杂,一时半会儿理不清头绪是太正常不过了。别急,这行当虽然门道多,但只要找对方法,系统地去看,你也能很快摸着门道,建立起自己的认知框架。我当年刚进来的时候也是一头雾水,后来自己摸索加上一些前辈的指点,慢慢就开窍了。下面我就把我的经验.............
  • 回答
    你好啊,欢迎来到英雄联盟这个坑!这游戏是挺有意思的,不过刚开始确实会觉得有点懵,特别是你提到的这三点:拉视野、看地图、补兵。别担心,这都是需要时间去磨练的基本功,熟练了之后你就会发现游戏变得不一样了。我尽量把我想到的、我玩游戏时的一些心得分享给你,希望能帮到你。 拉视野:你不是一个人在战斗,你还有你.............
  • 回答
    想入坑 F1,这绝对是个好选择!F1 赛车不仅仅是速度与激情的碰撞,它背后蕴含着顶尖的工程技术、策略博弈、车手传奇以及扣人心弦的故事。别担心,我来给你梳理一下,保证让你轻松上手,并且充满乐趣。第一步:先看一场比赛,感受肾上腺素的飙升!我知道,对于新人来说,直接看一场比赛可能会有点懵。没关系,就像看电.............
  • 回答
    关于法国在2019年5月7日左右推荐印度入常这件事,确实是国际政治舞台上一个值得关注的动态。咱们就来好好聊聊这背后的原因、可能的走向以及大家普遍的看法。法国为啥要推荐印度入常?首先,得理解联合国安理会常任理事国(P5)的地位有多重要。这五个常任理事国——中国、法国、俄罗斯、英国、美国——拥有否决权,.............
  • 回答
    哥们,恭喜你迈入法院大门,而且还是执行局,这可是个硬仗!作为过来人,想跟你掏心掏肺地说几句,希望能给你点实在的帮助。首先,别太把“研究生”这光环当回事。刚到法院,你就是个新人,执行局更是实践性极强的地方,书本上的东西固然重要,但实际操作中的门道,需要你一点点摸索,一点点积累。别怕问,也别怕犯错,但一.............
  • 回答
    初读《资本论》的人,首先要恭喜你踏上了一条充满挑战但也极其有价值的学习之路。马克思的《资本论》是一部巨著,它不仅仅是一本经济学著作,更是一部哲学、社会学和历史学的百科全书。初次接触它,可能会感到信息量巨大、概念抽象、语言风格也与我们日常阅读的通俗读物有所不同。以下是我为初读《资本论》的你准备的一些话.............
  • 回答
    八十年代初,中国刚刚经历了特殊的历史时期,国门初开,外界的信息和事物如同洪水般涌入,对当时的中国人来说,其冲击之大是难以用简单几个词语概括的。那是一种全方位的、颠覆性的震撼,触及了人们的认知、观念、生活方式乃至对未来的想象。以下我将从几个主要方面,尽量详细地描述这种冲击:一、 视觉与物质的冲击:来自.............
  • 回答
    政协委员钟茂初提出的“建议乡村教师工资大幅高于城市教师”是一个非常值得探讨的议题,它触及了教育公平、乡村振兴、人才流失等多个重要方面。要全面理解和评价这一建议,需要从多个角度进行深入分析。一、 为什么会有这样的建议?核心痛点是什么?提出这样的建议,背后必然存在着一些亟待解决的现实问题。我们可以从以下.............
  • 回答
    “迟迟钟鼓初长夜,耿耿星河欲曙天。”这句诗出自唐代诗人杜甫的《赠郑八相公》,描绘了一幅在长夜将尽、黎明将至的时刻,时间流逝缓慢,星河闪烁的景象。其中“迟迟”和“耿耿”都是叠词,并且都起到了对仗的作用。“迟迟”形容时间过得缓慢,与“钟鼓”相呼应;“耿耿”形容星光明亮的样子,与“星河”相呼应。这种叠词的.............

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2025 tinynews.org All Rights Reserved. 百科问答小站 版权所有