作为程序员,是否需要去阅读源代码?原因是什么?

作为程序员,是否需要去阅读源代码?原因是什么?,第1张

答案是肯定的,程序员从学习编程那一刻开始就需要阅读别人的源代码,工作以后则更不可避免的要阅读大量的源代码了。

阅读源代码对程序员来说至少有以下几点原因:

第一,程序员的学习往往都是从阅读源代码开始的。从第一个程序HelloWorld开始,程序员在学习的过程中就需要阅读大量的源代码,以了解程序的语法。程序语言的每一个概念几乎都需要通过源代码来呈现,而程序员当然需要通过阅读这些源代码来理解这些概念,同时还需要通过实验来验证这些源代码。很多计算机专业的学生都是通过阅读Linux源代码来学习 *** 作系统体系结构的,这是一个非常好的学习方法。

第二,工作过程中需要通过阅读源代码来学习新的解决方案。计算机领域的新技术层出不穷,作为程序员来说需要不断学习这些新的技术方案,而阅读源代码是最直接的方式之一。很多程序员在学习新技术时,往往都是从直接搭建开发环境并运行demo开始,通过运行的结果建立对新技术的一个直观理解,而这个过程大部分的时间都是在阅读源代码。

第三,阅读源代码是程序员之间交流的一个重要方式。现在大部分开发团队都会对项目进行CodeReview,CodeReview的过程既是一个总结的过程,也是一个互相学习的过程,Review的过程一个重要的内容就是阅读别人的源代码。

大部分初级程序员需要掌握的第一个能力就是阅读源代码的能力,按照历史经验来看,具有较强代码阅读能力的初级程序员往往能够更快速的融入开发团队。同样,很多最终没有走向开发岗位的程序员,代码阅读能力不强是一个重要的原因,当然,代码阅读能力差的原因是多方面的。

我从事软件开发工作多年,目前也在带软件开发团队,我会陆续在头条写一些关于软件开发方面的文章,感兴趣的朋友可以

在 stackoverflow 上有人提问 程序员应该阅读的非编程类书籍有哪些? 本来只想整理编程类书籍, 不过突然眼前一亮,发现了《The Art of War - Sun Tzu》回答者的推荐说明引用 Wikipedia 上的:

亚马逊提供免费的 Kindle 版读本:孙子兵法

Much of the text is about how to fight wars without actually having to do battle: it gives tips on how to outsmart one's opponent so that physical battle is not necessary. As such, it has found application as a training guide for many competitive endeavors that do not involve actual combat.

This knowledge would surely be useful in the everyday "battles" we have to fight in and out of the office. It's also filled with quotes you can impress your fellow programmers with... :)

《哥德尔、艾舍尔、巴赫——集异璧之大成》Gödel, Escher, Bach: an Eternal Golden Braid,

这本书通常被称为《GEB》, 它绝对是一本神书,一本奇书,一本神奇的书。在豆瓣读书的科普类排名中稳居第一。我在博客中,和即将出版的书中,也一而再,再而三的提及此书。

书有点儿厚,而且价格不菲,大概五六十吧。我也曾经不止一次的向朋友们推荐此书,并赠书此书。

作者也乘中文版出版之际,为自己取了一个雅致的汉名──侯世达(Douglas Richard Hofstadter)。侯世达应该是 Hofstadter 的音译。

如果你喜爱理科,此书必读。如果你是文科,那就读读《银河系漫游指南》。

《银河系漫游指南》The Hitchhiker's Guide to the Galaxy

亚马逊翻译为《银河系搭车客指南》, 略带喜感。

突如其来的寂静笼罩了地球。

这事实上比噪音更加可怕。

有一会儿,什么也没有发生。

巨大的飞船一动不动地挂在空中,覆盖了地球上的每个国家。

在黯然退场之前,地球首先被改造成了最终极的声音重放器件,这是有史以来建造过的最伟大的播音系统。

但伴之而来的不是演奏会,不是音乐,没有开场号曲,而仅仅是一条简短的信息。

“地球人,请注意了。” 一个声音说,这声音堪称完美,仿佛来自四声道系统,完美得无懈可击,失真度低得能让勇敢的男人洒下眼泪。

“这里是银河超空间规划委员会。诸位无疑已经知道,银河系边远地区的开发规划要求建造一条穿过贵恒星系的超空间快速通道,令人遗憾的是,贵行星属于计划中预定毁灭的星球之一。毁灭过程将在略少于贵地球时间两分钟后开始。谢谢合作。”

《人性的弱点》How to Win Friends and Influence People

《人性的弱点 Kindle版》只售 2.9 元。

《人性的弱点》的作者戴尔·卡耐基,美国“成人教育之父”。 20世纪早期,美国经济陷入萧条,战争和贫困导致人们失去了对美好生活的愿望,而卡耐基独辟蹊径地开创了一套融演讲、推销、为人处世、智能开发于一体的教育方式,他运用社会学和心理学知识,对人性进行了深刻的探讨和分析。 《人性的弱点》讲述的许多普通人通过奋斗获得成功的真实故事,激励了无数陷和迷茫和困境的人,帮助他们重新找到了自己的人生。

接受卡耐基教育的有社会各界人士,其中不乏军政要员,甚至包括几位美国总结。 千千万万的人从卡耐基的教育中获益匪浅。

《人性的弱点》汇集了卡耐基的思想精华和最激动人心的内容,是作者最成功的励志经典,出版后立即获得了广大读者的欢迎,成为西方世界最持久的人文畅销书。 无数读者通过阅读和实践书中介绍的各种方法,不仅走出困境,有的还成为世人仰慕的杰出人士。 只要不断研读《人性的弱点全集》,相信你也可以发掘自己的无穷潜力,创造辉煌的人生。

《别逗了,费曼先生!》Surely You're Joking, Mr. Feynman!

《别逗了,费曼先生》是一本很棒的读物:挥霍无忌、惊世骇俗,却仍然温馨,很有人情味儿。

R·P·费曼,他因盘子电动力学方面的研究荣获诺贝尔物理学奖。 除了作为一个物理学家外,费曼在不同时期还曾是故事大王、艺术家、鼓手和密码破泽专家。

“费曼的一生,或可比作连锁反应。从一点儿临界质量的灰质开始,这个生命向四面八方炸开,产生出热和光。” ——《时代》

“费曼以其才华和怪癖,在他的同事们中间,成了一个传奇人物——您在阅读本书的时候,不从头笑到尾,是很难的。” ——《新闻周刊》

“眉飞色舞,肆意笑闹……费曼的语言,生动活泼,直率真朴一真正令人耳目一新。” ——《芝加哥太阳报》

“如果您以为物理学或物理学家中间没有什么乐子一那么来会会费曼吧——一个用一团原子变戏法的最令人捧腹的伙计。” ——《联合日报》

“科学家都是枯燥无味之人,这样一种老生常谈,一本书就能打破,这本书就是。” ——《底特律自由报》

《尽管去做》Getting Things Done

如果你增加听说过一个词——GTD,没错,就是这本书 Getting Things Done,还有一种译法是《搞定1:无压工作的艺术》也很信、达,至于雅嘛,呵呵。

在今天这个信息量和工作量倍增的世界,一些老的工作方法已经失去了效用。 每一个职场中人或多或少都有这样的体验:压力重重;太多事情都理不清头绪;似乎永远被各种任务和目标追赶着……

时间管理大师戴维•艾伦将指导你走出规划和执行工作中的泥沼,通向高效、轻松的彼岸。 要想让事情井井有条,关键便是——从容、放松。

《别让我思考》Don't Make Me Think

先推荐一篇知乎上的文章:Chrome 浏览器的哪些设计符合「Don't make me think」原则?

在豆瓣和亚马逊搜索了很久中文版,居然没找到,不得已求助 Google,原来被翻译成了《点石成金:访客至上的网页设计秘笈》。

如果你在进行网站设计,为网站编程,或者管理网站,那么一定要读一读此书。

有些网站看起来很杂乱;

有些网站能让你轻松地找到资料;

有些网站让你犹如置身迷宫,

为什么网站的可用性会有如此大的反差?用户在访问网站时有怎样的心理? 遵循什么样的原则来设计网站才能吸引访客? 这本全球 Web 设计人员的必读经典会给出答案。

《禅与摩托车维修艺术》Zen and the Art of Motorcycle Maintenance

这是什么书?

《禅与摩托车维修艺术》:累积销量超过一千万册,美国大学“禅与现代美国文学”课程的必读参考书。

70年代的梭罗——罗伯特•M. 波西格,《时代》周刊评选20世纪70年代十本最有影响力的书之一。

《禅与摩托车维修艺术》主要内容简介:在一个炎热的夏天,父子两人和约翰夫妇骑摩托车从明尼苏达到加州,跨越美国大陆,旅行的过程与一个青年斐德洛研修科学技术与西方经典,寻求自我的解脱,以及探寻生命的意义的过程相互穿插。

一路上父亲以一场哲学肖陶扩的形式,将见到的自然景色,野外露营的经历,夜晚旅店的谈话,机车修护技术等等日常生活与西方从苏格拉底以来的理性哲学的深入浅出的阐述与评论相结合,进行了对形而上学传统的主客体二元论的反思,以及对科学与艺术,知识与价值,古典主义与浪漫主义,精神与物质,机械论与神秘主义,西方与东方等西方二分法划分下的事物间的关系的思考。

并潜入自己的过去,探寻在现代文明下自己精神的分裂的起源,完成了一次自我心灵与人类文明 的探索。

《编码宝典》(Cryptonomicon)

貌似没有中国版。

作为Java程序员来说,最痛苦的事情莫过于可以选择的范围太广,可以读的书太多,往往容易无所适从。我想就我自己读过的技术书籍中挑选出来一些,按照学习的先后顺序,推荐给大家,特别是那些想不断提高自己技术水平的Java程序员们。

一、Java编程入门类

对于没有Java编程经验的程序员要入门,随便读什么入门书籍都一样,这个阶段需要你快速的掌握Java基础语法和基本用法,宗旨就是“囫囵吞枣不求甚解”,先对Java熟悉起来再说。用很短的时间快速过一遍Java语法,连懵带猜多写写代码,要“知其然”。

1、《Java编程思想》

在有了一定的Java编程经验之后,你需要“知其所以然”了。这个时候《Java编程思想》是一本让你知其所以然的好书,它对于基本的面向对象知识有比较清楚的交待,对Java基本语法,基本类库有比较清楚的讲解,可以帮你打一个良好的Java编程基础。这本书的缺点是实在太厚,也比较罗嗦,不适合现代人快节奏学习,因此看这本书要懂得取舍,不是每章每节都值得一看的,挑重点的深入看就可以了。

2、《Agile Java》中文版

这本书是出版社送给我的,我一拿到就束之高阁,放在书柜一页都没有翻过,但是前两天整理书柜的时候,拿出来一翻,竟然发现这绝对是一本好书!这本书一大特点是以单元测试和TDD来贯穿全书的,在教你Java各种重要的基础知识的过程中,潜移默化的影响你的编程思维走向敏捷,走向TDD。另外这本书成书很新,以JDK5.0的语法为基础讲解,要学习JDK5.0的新语法也不错。还有这本书对于内容取舍也非常得当,Java语言毕竟类库庞大,可以讲的内容太多,这本书选择的内容以及内容的多寡都很得当,可以让你以最少的时间掌握Java最重要的知识,顺便培养出来优秀的编程思路,真是一本不可多得的好书。

二、Java编程进阶类

打下一个良好的Java基础,还需要更多的实践经验积累,我想没有什么捷径。有两本书值得你在编程生涯的这个阶段阅读,培养良好的编程习惯,提高你的代码质量。

1、《重构 改善既有代码的设计》

这本书名气很大,不用多介绍,可以在闲暇的时候多翻翻,多和自己的实践相互印证。这本书对你产生影响是潜移默化的。

2、《测试驱动开发 by Example》

本书最大特点是很薄,看起来没有什么负担。你可以找一个周末的下午,一边看,一边照做,一个下午就把书看完,这本书的所有例子跑完了。这本书的作用是通过实战让你培养TDD的思路。

还有一些比较基础的入门书籍推荐给你 《Head First java开发》java开发入门书籍

《Head First java开发》是本完整的面向对象(object-oriented,OO)程序设计和java开发的学习指导。此书是根据学习理论所设计的,让你可以从学习程序语言的基础开始一直到包括线程、网络与分布式程序等项目。最重要的,你会学会如何像个面向对象开发者一样去思考。但如果你真地想要好好地学习java开发,你会需要《Head First java开发》。这本书可是Amazon编辑推荐的十大好书之一!强烈推荐学习此书,非常适合初学者入门。

《java开发从入门到精通》

《java开发从入门到精通》这本书主要针对java开发基础,对于没有学过java开发的人才说,是一个不错的选择。通过这本书,大家可以从零开始,慢慢来学习,而且实 *** 很多,不会让你看到最后出现只会理论的情况。

《Thinking in java开发》(中文名:《java开发编程思想》)

《java开发编程思想》可以说是最经典的java开发着作,是所有java开发程序员必备教科书。这本书不管是正在学习还是已经工作许多年的程序员,都可以从这本书中得到你想要的东西。这本书具有教材和工具书的作用,就像一本字典,想知道什么都可以从中查询。虽然这本书很好,但并不建议初学者学习,对于初学者难度较大。

《疯狂java开发讲义》

《疯狂的讲义》这本书比较适合自学者,内容比较项目化,实 *** 方法很多,如果你想进行java开发的深入学习,不妨看看这本书。

《java开发核心技术》

这本书分为两个部分,第一个部分讲的是基础知识,第二个部分讲的是高级特性。由于内容非常有层次,所以非常适合自学的同学学习。

《java开发开发实战经典》

这本书比较适合自学者学习,里面有很多小案例,可以边学边练,巩固知识。

PS:温馨提示,光看不练假把式,跟着视频教程练项目也是必不可少的!相关教程指路B站尚学堂官方号!都是免费滴!


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/10941218.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-12
下一篇2023-05-12

发表评论

登录后才能评论

评论列表(0条)

    保存