每个初级开发人员都应该读的 8 本书
本文最初发表于我的博客。如果您有兴趣接收我的最新文章,请订阅我的新闻通讯并在Twitter上关注我。
当然,老年人也应该读这些书,但很可能他们已经读过其中至少几本了……
我喜欢读书。虽然我并非一直都喜欢,但小学时就曾有过几次巅峰,在短时间内读完了一些我觉得有趣的长篇小说。后来高中也有过类似的时期,但那段时间我几乎不读书——不过我读过很多汽车杂志。不过从大学二年级开始,我读了很多书,也买了很多书——我一直在投资自己。
当我开始有稳定的收入后,我开始每月买书。很快,我就加入了匈牙利最大的连锁书店的忠诚度计划的最高级别,所以我买的书更多了。为了存放这些书,我不得不清理房间里的东西。很快,我的书就不够用了,我需要一个新的书架,我爸爸给我做了一个。
当我搬进自己的公寓时,我有更多的空间放书,但我也开始把这些空间填满。
那些年,我独自上下班时可以读很多书,而且我身边总是带着一本书。直到我开始和妻子一起上下班后,这种情况才有所改变,但我有时会在回家的地铁上坐在她旁边看书,只是为了让自己平静下来。对我来说,如果我感到压力很大,读书能帮助我平静下来。即使是技术类书籍。
Ryan Holiday说,如果你想多读书,不要把它当成一种活动。要把它当成一件自然的事情,就像吃饭和呼吸一样。我完全同意他的观点。我每天都会抽出时间阅读。现在我不用通勤了,但我相信,无论是睡前、起床后还是午餐时间,任何人都能抽出时间阅读。
最近我意识到人们开始问我关于书的问题,他们问我读什么书,如果我们谈论任何话题,我都会想想我读过哪些关于该主题的书以及我会推荐什么书。
这让我萌生了写这篇博文的想法。如果你是一名初级开发者,想要在职业生涯中更上一层楼,你不仅需要在日常工作中再花几年时间(这很可能无济于事),你还需要鞭策自己,锻炼自己,学习新技能。
因此,我列出了 8 本你绝对应该阅读的书:
史蒂夫·麦康奈尔 (Steve McConnell) 编写的《代码大全》
我初级的时候,一位经理建议我读这本书,我认真听取了他的建议。这本书是众所周知的软件开发必读书籍之一。它不仅鼓励人们坚持“代码+修复”的开发方式,还通过大量示例讲解了许多编写可读性强、可维护性强的代码的技巧。我可能会再次从这本书开始学习。
软件工匠:专业精神、实用主义、自豪感(作者:Sandro Mancuso)
这本书与上一本截然不同。它并非专注于如何编写优秀的代码,而是让你从全新的角度审视你的职业。不是审视你的工作,而是审视你的职业。软件开发人员受过高等教育,从事着一份充满挑战的职业,但我们中的许多人仍然把自己视为生产线上的工人,丝毫不尊重自己的职业。没错,我在本段中多次使用了“职业”一词。许多开发人员缺乏职业素养,也不追求卓越(不要把卓越和完美主义混为一谈!)。这本书将教你如何拥有强大的思维模式,帮助你在职业生涯中达到从未想过的高度。我认为这不仅是所有开发人员的必读书籍,也是非技术管理人员的必读书籍。
《代码整洁之道:敏捷软件工艺手册》
鲍勃·马丁大叔的这本书分享了如何区分好代码和坏代码,以及如何将两者相互转化。请注意,你应该将坏代码转化为好代码,而不是反过来。这本书重点讲解了如何格式化代码以实现最佳可读性,以及如何实施单元测试和测试驱动开发 (TDD)。
史蒂夫·弗里曼 (Steve Freeman) 的《在测试的指导下发展面向对象软件》
说到单元测试和TDD,这本书无疑是您的不二之选。它通过构建一个投标应用程序的步骤,引导读者理解测试驱动面向对象设计的原则。
鲍勃·马丁叔叔的《程序员整洁之道》
鲍勃大叔的这本书技术性较弱,它更多地探讨了作为一名专业程序员的人性层面。技术人员往往会说,啊,我们不需要那样,但我们不仅与机器互动,主要还是与人互动。我们与人(包括我们自己)相处得越好,我们的职业发展就越快。
重构 - 改进现有代码的设计(作者:Martin Fowler)
很多(如果不是大多数的话)开发人员宁愿开发全新的项目,也不愿开发老旧代码。部分原因是老旧代码可能很烂,而且他们不知道如何处理这些烂代码(顺便说一句,老代码并不一定意味着烂代码!)。然而,如果我们回顾一下自己的职业生涯或日常工作,就会发现我们大部分时间都在维护代码、排查那些“混蛋”引入的bug——你也可能是那个混蛋!本书将教你如何处理老旧代码,以及如何通过重构来改进它。
Michael Feathers 撰写的《有效地使用遗留代码》
正如我刚才所说,我们大部分时间都花在维护旧代码上。不幸的是,这些旧代码即使有测试也没有足够的测试。如果你是一位专业人士,并且不想让代码库腐烂,你就必须学习如何让代码库比你刚开始的时候更干净。这本书将对你获得这些知识大有裨益。不要只读一遍,当你修复棘手的 bug 时,一定要把这本书放在身边。
《软件开发人员职业完整指南》(作者:John Sonmez)
今天,我们以一本不太技术的书来结束今天的阅读。这本书简洁明了,只有800页,涵盖了软件开发者职业生涯中必须掌握的基础知识。无论你处于职业生涯的任何阶段,都能在这本书中找到一些重要的信息。在最糟糕的情况下,你也会思考一些你已有想法的事情,但现在你将真正地将这些想法组织成知识。别忘了,作为一名开发者,就像一个人一样,与他人互动以及快速学习的能力至关重要。这本书内容丰富,但仍然值得一读。
好吧,如果你在半年或一年内读完这 8 本书,并尝试将所读到的信息付诸实践并转化为知识,那么你的职业生涯进步速度将比大多数从未读过任何书或一年只读过几本书的人快得多。
请随意留下一些关于您推荐的书籍的评论。
文章来源:https://dev.to/sandordargo/8-books-every-junior-developer-should-read--4p5h