对于程序员来说,看书啃理论和动手撸项目哪个更重要呢?

本贴最后更新于 2338 天前,其中的信息可能已经时异事殊

欢迎各位发表观点,在技术精进的路上二者更应该哪个为主哪个为次呢?

  • 程序员

    程序员是从事程序开发、程序维护的专业人员。

    591 引用 • 3528 回帖 • 1 关注
  • 学习

    “梦想从学习开始,事业从实践起步” —— 习近平

    172 引用 • 540 回帖
  • Q&A

    提问之前请先看《提问的智慧》,好的问题比好的答案更有价值。

    10112 引用 • 45922 回帖 • 63 关注

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
  • monday

    看源码等于既学习了理论,也跟着作者一起写了一遍

  • Ahian

    从公司企业的角度,能解决实际的需求是首要任务,所以有完整的项目经验更重要;我所理解的理论是阅读某一领域内的优秀论文,这侧重于研究员的职位,你所说的理论应该是数据结构、算法或者某个框架的内部实现原理,如何是这种基础理论知识的话,是要在业余时间学习的。

  • visus

    初学者我会愿意看书,对于以入门者,我会根据现在项目需求造轮子,而且是可以复用的轮子,根本不需要思考的问题

  • 试问哪个程序员不需要动手撸项目,不过项目撸多了。有些理论上的术语忘记叫啥,也是蛮尴尬的。

  • lizhongyue248 1 赞同 via Linux

    说说我的理解吧。。。个人一些看法,经历、阅历有限。

    看书啃理论其实会让自己很有**“料”**,看了什么的东西,就可以说出一些东西,这些东西能有些可以伴你终身,有些转瞬即忘,但是或多或少都会让你有所进步。而在和别人谈论的时候,这些东西就是你的底气,曾经看到一句话,一个人的谈吐,可以看得出这个人读了多少书。虽然不绝对,但是我个人觉得也有一定的道理。这个过程很缓慢,但是却一点一点的实实在在的在改变着你的本质,或许你不会动手许多东西,但是任何东西你都能够说个所以然或者头头是道。但是一旦动手大项目,估计就会力不从心了。

    而撸项目就是很有**“量”**,其实可以从另外一方面来说,因为对于一个项目来说,你甚至可以不需要知道许多东西,就可以动手干起来,不会的就动手百度,google,然而这些项目真实的价值多少,明眼人一眼就可以看得出来。但是不得不说的是,量变产生质变的道理在哪里都基本适用,在你对一个框架使用、了解多了以后,你也会渐渐明白许多东西,有些是书本上没有的,有些是书本上有的,或多或少,遇到的问题多了,自然就会学会很多。动手能力强了很多,百度 google 的能力也强了很多,搜索问题遇到问题的解决方式也不断改善。但是一旦有些问题涉及过深,你就会力不从心了。

    两者都是殊途同归,都可以锻炼人,然后充实自己,区别就是一个是理论一个实践,就类似于研究生的学硕、专硕(虽然国内有些区别不太明显)。

    所以无非就是看你对自己定位如何,举个简单的例子,spring boot 吧。

    如果你是一个有耐心,希望一步一步前进的人,那么就是理论为主,实践为辅,先学习构建工具 maven 或者 gradle 或者其它,再去 spring 的一些基础,了解 ioc、aop 这些,然后学习 spring mvc 等等,都是通过看书学习,然后简单代码实践,最后再来看 spring boot 然后实践,你会发现轻松很多。

    如果你是一个想先看成果的,那么直接找到 spring boot 的 demo 直接上手部署运行,直接撸起来,跑起来再说,遇到问题百度、google、v2ex、stackoverflow 各种搜,最后花时间部署起来了,再去慢慢熟悉,一个一个知识点的慢慢补充,这就是实践为主,理论为辅。

    你是什么样的人,你就应该选择什么样的方式去学习。

  • YxxXlv0COaxl

    理论是基础,
    实践出真知.

    两个是相辅相成的关系.

    将理论运用于实践,
    将实践转换成理论.

请输入回帖内容 ...
EvilCodes
我的世界,我的代码,我的逻辑。

推荐标签 标签

  • Thymeleaf

    Thymeleaf 是一款用于渲染 XML/XHTML/HTML5 内容的模板引擎。类似 Velocity、 FreeMarker 等,它也可以轻易的与 Spring 等 Web 框架进行集成作为 Web 应用的模板引擎。与其它模板引擎相比,Thymeleaf 最大的特点是能够直接在浏览器中打开并正确显示模板页面,而不需要启动整个 Web 应用。

    11 引用 • 19 回帖 • 394 关注
  • webpack

    webpack 是一个用于前端开发的模块加载器和打包工具,它能把各种资源,例如 JS、CSS(less/sass)、图片等都作为模块来使用和处理。

    42 引用 • 130 回帖 • 254 关注
  • Swagger

    Swagger 是一款非常流行的 API 开发工具,它遵循 OpenAPI Specification(这是一种通用的、和编程语言无关的 API 描述规范)。Swagger 贯穿整个 API 生命周期,如 API 的设计、编写文档、测试和部署。

    26 引用 • 35 回帖 • 2 关注
  • JWT

    JWT(JSON Web Token)是一种用于双方之间传递信息的简洁的、安全的表述性声明规范。JWT 作为一个开放的标准(RFC 7519),定义了一种简洁的,自包含的方法用于通信双方之间以 JSON 的形式安全的传递信息。

    20 引用 • 15 回帖 • 28 关注
  • 尊园地产

    昆明尊园房地产经纪有限公司,即:Kunming Zunyuan Property Agency Company Limited(简称“尊园地产”)于 2007 年 6 月开始筹备,2007 年 8 月 18 日正式成立,注册资本 200 万元,公司性质为股份经纪有限公司,主营业务为:代租、代售、代办产权过户、办理银行按揭、担保、抵押、评估等。

    1 引用 • 22 回帖 • 799 关注
  • danl
    179 关注
  • Chrome

    Chrome 又称 Google 浏览器,是一个由谷歌公司开发的网页浏览器。该浏览器是基于其他开源软件所编写,包括 WebKit,目标是提升稳定性、速度和安全性,并创造出简单且有效率的使用者界面。

    63 引用 • 289 回帖
  • iOS

    iOS 是由苹果公司开发的移动操作系统,最早于 2007 年 1 月 9 日的 Macworld 大会上公布这个系统,最初是设计给 iPhone 使用的,后来陆续套用到 iPod touch、iPad 以及 Apple TV 等产品上。iOS 与苹果的 Mac OS X 操作系统一样,属于类 Unix 的商业操作系统。

    89 引用 • 150 回帖 • 1 关注
  • LeetCode

    LeetCode(力扣)是一个全球极客挚爱的高质量技术成长平台,想要学习和提升专业能力从这里开始,充足技术干货等你来啃,轻松拿下 Dream Offer!

    209 引用 • 72 回帖
  • Java

    Java 是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由 Sun Microsystems 公司于 1995 年 5 月推出的。Java 技术具有卓越的通用性、高效性、平台移植性和安全性。

    3201 引用 • 8217 回帖
  • Electron

    Electron 基于 Chromium 和 Node.js,让你可以使用 HTML、CSS 和 JavaScript 构建应用。它是一个由 GitHub 及众多贡献者组成的活跃社区共同维护的开源项目,兼容 Mac、Windows 和 Linux,它构建的应用可在这三个操作系统上面运行。

    15 引用 • 136 回帖 • 1 关注
  • Netty

    Netty 是一个基于 NIO 的客户端-服务器编程框架,使用 Netty 可以让你快速、简单地开发出一个可维护、高性能的网络应用,例如实现了某种协议的客户、服务端应用。

    49 引用 • 33 回帖 • 42 关注
  • Maven

    Maven 是基于项目对象模型(POM)、通过一小段描述信息来管理项目的构建、报告和文档的软件项目管理工具。

    188 引用 • 319 回帖 • 238 关注
  • Shell

    Shell 脚本与 Windows/Dos 下的批处理相似,也就是用各类命令预先放入到一个文件中,方便一次性执行的一个程序文件,主要是方便管理员进行设置或者管理用的。但是它比 Windows 下的批处理更强大,比用其他编程程序编辑的程序效率更高,因为它使用了 Linux/Unix 下的命令。

    125 引用 • 74 回帖
  • sts
    2 引用 • 2 回帖 • 242 关注
  • Windows

    Microsoft Windows 是美国微软公司研发的一套操作系统,它问世于 1985 年,起初仅仅是 Microsoft-DOS 模拟环境,后续的系统版本由于微软不断的更新升级,不但易用,也慢慢的成为家家户户人们最喜爱的操作系统。

    229 引用 • 476 回帖
  • 音乐

    你听到信仰的声音了么?

    62 引用 • 512 回帖
  • Vditor

    Vditor 是一款浏览器端的 Markdown 编辑器,支持所见即所得、即时渲染(类似 Typora)和分屏预览模式。它使用 TypeScript 实现,支持原生 JavaScript、Vue、React 和 Angular。

    373 引用 • 1858 回帖 • 1 关注
  • OpenResty

    OpenResty 是一个基于 NGINX 与 Lua 的高性能 Web 平台,其内部集成了大量精良的 Lua 库、第三方模块以及大多数的依赖项。用于方便地搭建能够处理超高并发、扩展性极高的动态 Web 应用、Web 服务和动态网关。

    17 引用 • 53 关注
  • RESTful

    一种软件架构设计风格而不是标准,提供了一组设计原则和约束条件,主要用于客户端和服务器交互类的软件。基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。

    30 引用 • 114 回帖 • 6 关注
  • 阿里云

    阿里云是阿里巴巴集团旗下公司,是全球领先的云计算及人工智能科技公司。提供云服务器、云数据库、云安全等云计算服务,以及大数据、人工智能服务、精准定制基于场景的行业解决方案。

    85 引用 • 324 回帖
  • 大数据

    大数据(big data)是指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。

    89 引用 • 113 回帖 • 1 关注
  • Python

    Python 是一种面向对象、直译式电脑编程语言,具有近二十年的发展历史,成熟且稳定。它包含了一组完善而且容易理解的标准库,能够轻松完成很多常见的任务。它的语法简捷和清晰,尽量使用无异义的英语单词,与其它大多数程序设计语言使用大括号不一样,它使用缩进来定义语句块。

    554 引用 • 675 回帖
  • 心情

    心是产生任何想法的源泉,心本体会陷入到对自己本体不能理解的状态中,因为心能产生任何想法,不能分出对错,不能分出自己。

    59 引用 • 369 回帖 • 1 关注
  • Mac

    Mac 是苹果公司自 1984 年起以“Macintosh”开始开发的个人消费型计算机,如:iMac、Mac mini、Macbook Air、Macbook Pro、Macbook、Mac Pro 等计算机。

    167 引用 • 597 回帖 • 4 关注
  • App

    App(应用程序,Application 的缩写)一般指手机软件。

    91 引用 • 384 回帖
  • JetBrains

    JetBrains 是一家捷克的软件开发公司,该公司位于捷克的布拉格,并在俄国的圣彼得堡及美国麻州波士顿都设有办公室,该公司最为人所熟知的产品是 Java 编程语言开发撰写时所用的集成开发环境:IntelliJ IDEA

    18 引用 • 54 回帖