沧州三亚菏泽经济预测自然
投稿投诉
自然科学
知识物理
化学生物
地理解释
预测理解
本质社会
人类现象
行为研究
经济政治
心理结构
关系指导
人文遗产
菏泽德阳
山西湖州
宝鸡上海
茂名内江
三亚信阳
长春北海
西安安徽
黄石烟台
沧州湛江
肇庆鹤壁
六安韶关
成都钦州

软件工程师必读的本书你读了吗

2月22日 虎狼旗投稿
  全文共4614字,预计学习时长14分钟
  来源:Pexels
  若想成为一名优秀的软件工程师,在努力写代码的同时,读代码同样至关重要。
  在当代社会,人们的日常生活因各种各样的新奇玩意儿而变得丰富多彩,比如播客、视频以及博客等等。尽管如此,仍然有许多人会选择捧读一本好书。笔者作为一名资深书虫,也已经涉猎过许多技术类书籍,例如软件工程。至今,笔者仍然在试图通过阅读以求新知。
  软件工程领域的发展日新月异,今天的热门可能不久后就沦为明日黄花,因此要在该领域寻得一本好书,实为不易。尤其是如果要找一本与某一特定编程语言相关的书目,则更为艰难。
  然而,在该领域也有一些书籍历久弥新,比如那些探讨元主题、设计模式或者一般思维模式的软件工程类书籍。
  在下文笔者列出的书单中,就包括目前最热门、最畅销的软件工程类书籍。下文所推荐的书目非常经典,至今依旧光彩熠熠,并且颇受高级软件工程师们的推崇,因此常将其推荐给初级开发人员。在当今这个时代,时间的确很宝贵,尤其是对软件工程师而言。但是,如果真的能花上些许时间拜读一下这些书目,则无论对于自身的提高还是未来的职业生涯而言,必将有所裨益。在这里有必要说明一下,下文书目的排列顺序完全随机,与其重要性的大小无关,因为每本书均有其侧重且值得被推荐。
  注意:下文出现的所有链接皆非附属链接。
  《代码大全(第二版)》(CodeComplete)
  《代码大全(第二版):软件构建之实践指南》(CodeComplete:aPracticalHandbookofSoftwareConstruction,2ndEdition)出自著名IT畅销书作者史蒂夫迈克康奈尔(SteveMcConnell)之手,完全称得上是有生之年系列图书之一,因为几乎每一个程序员都曾拜读过此书。
  此书对软件构建进行了全面分析,逻辑严密,因此在业界颇受好评。在本书中,涉及的话题主要涵盖软件设计、编码、调试以及测试等。
  因此,对于有着一至三年专业编程经验的工程师而言,这本书尤其值得阅读,因为他们会受益良多。但是笔者认为,即使是软件编程的初学者也不妨试读一下,因为他们可以从这本书中获得更多的自信,以面对未来的软件编程工作。
  指点迷津:软件开发人员必须要有能力处理复杂事物,编写易于维护的代码,并且手不释卷这不仅仅是为了自己,也是为了他人。
  《程序员面试金典》(CrackingtheCodingInterview)
  无论参加编程面试是出于个人兴趣还是职业需求,《程序员面试金典:189道知名科技公司编程面试真题及解答》(CrackingtheCodingInterview:189ProgrammingQSolution)都是一本非常值得推荐的编程类书籍。本书作者盖尔拉克曼麦克道尔(GayleLaakmannMcDowell)是一位经验丰富的软件工程师,不仅亲身参与过编程面试,而且还曾担任过面试官。在这本书中,她帮助面试者寻找问题背后的细枝末节,并将问题进行拆分,从而更好地理解各个概念。
  此外,作者还在书中讲解了189道知名企业的编程面试真题及答案,为即将参加编程面试的人们助力。
  《代码整洁之道》(CleanCode)
  Bob大叔罗伯特马丁(RobertC。Martin)的著作《代码整洁之道:整洁代码的敏捷实践方法》(CleanCode:AHandbookofAgileSoftwareCraftsmanship),是全世界最受追捧的编程书目之一。作者希望通过此书来教授软件工程师如何编写整洁的代码。在此书中,作者通过许多实例讲解来告诉人们如何重构现有代码,从而使其更加易于阅读与维护。但值得注意的是,本书主要针对的是Java编程语言。虽然本书所涉及的某些模式与方法也同样适用于一般编程或其它编程语言,但其主要受众仍然是Java程序员。
  另外同样值得注意的一点是,由于此书著于2009年,且受限于现有的工具与IDE,因此书中某些内容已经过时,例如代码格式部分。但总体来说,这本书仍然值得拜读。
  《重构(第二版)》(Refactoring)
  《重构(第二版):改善既有代码的设计》(Refactoring:ImprovingtheDesignofExistingCode,2ndEdition)的作者是世界软件开发大师马丁福勒(MartinFowler),正如在20前的第一版中一样,在这第二版中作者也首先向公众阐述了何为重构。在此书中,作者总结了人们可能会有的疑问,并一一予以解答,具体如下:
  为什么应该重构代码?
  如何辨别哪些代码需要重构?
  如何成功重构代码?
  在阅读此书后,人们将能更好地理解重构的过程及其一般原则,并将其快速应用于自己的代码库。另外,此书的读者可能还会额外获赠一个灵敏的狗鼻子,当自己的队友写的代码亟需重构时,这个鼻子就能立马闻出来并提醒对方。
  《HeadFirst设计模式》(HeadFirstDesignPatterns)
  编程著作《HeadFirst设计模式:重视大脑的学习指南》(HeadFirstDesignPatterns:ABrainFriendlyGuide)由埃里克弗里曼(EricFreeman)、伯特贝茨(BertBates)、凯西塞拉(KathySierra)与伊丽莎白罗伯森(ElisabethRobson)合作完成,主要教授人们设计模式与方法,以供其他开发人员用于创建可重复使用且灵活度高的功能性软件。在该书中,有许多高质量的可视化图表,通过这些图表,读者们能够更加容易地学习新概念。
  对于想要了解工厂、单例或者依赖注入等模式的人而言,这本书绝对是不二选择。由于本书所使用的案例均由Java写成,因此读者最好能对该语言或其它面向对象的编程语言有所了解。
  《企业应用架构模式》(PatternsofEnterpriseApplicationArchitecture)
  《企业应用架构模式》是马丁福勒的又一力作,主要旨在探讨企业应用发展的实践。在本书中,前一部分主要是关于如何开发企业应用的教程;之后,作者又提供了40多种模式,用以解决在创建企业应用过程中可能会遇到的常见问题。此外,书中还包含许多UML图以及Java代码或C代码示例。
  通过阅读此书,人们将能够对企业应用进行分层,获悉组织业务逻辑的主要方法,使用MVC模式来组织Web应用,并且在多事务运行时处理并发数据。
  然而,这本书正逐渐淘汰于时代无情的洪流中,因此许多现代术语都未及时更新,例如REST、云端、JSON等。尽管如此,此书仍然不啻为一本好书,但在真正阅读时要注意取其所长,弃其所短。
  《修改代码的艺术》(WorkingEffectivelywithLegacyCode)
  《修改代码的艺术》是世界级计算机专家迈克尔费瑟(MichaelFeathers)的经典之作,作者在书中提供了许多策略用于处理未经测试的大型遗留代码库。在这时,或许许多人都会心生疑惑:已经到2020年了,人们一直都有整洁且易于维护的代码和微服务,难道处理遗留代码还算得上什么大问题吗?实际上,事情绝非如此简单。目前对于大部分公司而言,遗留代码问题仍然是一大挑战。
  通过阅读此书,人们将能够理解修改软件的一般机制,例如添加特性、修正缺陷、优化性能、改进设计等。除此之外,读者也能学会如何准备遗留代码的测试,以及如何确定哪些代码需要修改。
  在本书中,作者还提供了包含Java、C、C和C的示例,并详细介绍了如何处理非面向对象的遗留代码。
  《代码整洁之道:程序员的职业素养》
  (TheCleanCoder)《代码整洁之道:程序员的职业素养》(TheCleanCoder:ACodeofConductforProfessionalProgrammers)是Bob大叔的另一著作,书中阐述了软件工艺的技术、原理、工具和实践,并且提供了一些关于估算、编码、重构与测试的实用建议。
  在阅读本书后,程序员们将能够更好地处理矛盾,缓解紧迫的日程表,以及应对不近人情的上司。此外,他们也能够学会如何高效管理时间,长期应对工作压力,以及避免身体或精神上的崩溃。最后,读者也能从这本书中学会如何做到流畅编码,以及如何在开发人员与团队之间培养一种合作共赢的良好氛围。
  虽然此书在业界声誉颇高,但笔者自觉其并非金科玉律。例如,书中包含许多未经证实的事件与假定情况,并且常会由此得出结论称,软件开发人员最终要为自己的工作全权负责。为此,书中竟然提出了如下建议:开发人员编写的代码如果出了问题,则由该开发人员对因此错误而受损的公司进行经济补偿。
  因此笔者建议,阅读此书时注意仔细甄别,披沙拣金。
  《算法导论(第三版)》(IntroductiontoAlgorithms)
  《算法导论(第三版)》由托马斯科尔曼(ThomasH。Cormen)、查尔斯雷瑟尔森(CharlesE。Leiserson)、罗纳德李维斯特(RonaldL。Rivest)与克利福德斯坦(CliffordStein)合作编撰而成,被誉为计算机算法的圣经,可用于指导各种算法。《算法导论》一书所涵盖的内容包罗万象,并且受众广泛,无论是菜鸟还是老司机皆可入坑。此外,书中措辞言简意赅,涵盖主题丰富多样。然而,此书内容偏复杂,因此不易消化。
  具体来说,书中涉及的主题包括数据结构、图论、计算几何学、快速算法,以及用于处理复杂任务的多项式时间算法等等。虽然书中还包含一些伪代码示例,但笔者认为,它依旧是一本经典的理论著作。
  《程序员修炼之道》(ThePragmaticProgrammer)
  《程序员修炼之道》曾是笔者读过的最重要的书目之一。无论是在技术上还是专业领域,该书都热心地建言献策,最后不仅协助笔者完成了众多项目,而且也让笔者自身得以进步与发展。
  即使是在现今2020年,该书也仍旧与时俱进,尤其是最新修订的20周年典藏版。书中,作者还谈论了诸多话题以探讨一个当代程序员应具备哪些素质,比如个人责任感、专业技能以及职业发展。
  通过阅读此书,人们将能够获知持续学习的定义及其重要性,编写灵活、动态、可适应的代码,解决并发代码问题,防范安全漏洞,以及进行有效的测试等等。
  因此,如果必须推荐一本书,那么《程序员修炼之道》必定是笔者的首选。
  综上:在全世界程序员的圈子内,上述书单中的作品最受追捧。如若要为读者从中挑选一本,那么毋庸置疑,一定是安德鲁亨特(AndrewHunt)执笔的《程序员修炼之道》。
投诉 评论 转载

眼角长斑是由于什么引起的操作方法01:hr内分泌失调,如果眼睛有出现长斑的情况,这样跟内分泌失调存在着很大的联系,而且女性朋友有出现妇科疾病或者经常吃避孕药的话,这些情况都会导致雌激素有很大的变……彩光脱毛可以有效的帮助大家脱去多余的毛发可以有效的帮助到爱美女士脱去腋下,四肢,嘴角等多余的毛发。变美方案01:hr彩光脱毛适用人群彩光脱毛适用范围也是很广的,像毛发比较旺盛和比较黑的都是可以去除的,但是……乡镇卫生院院长个人总结个人工作总结近一年来,本人能认真学习马列主义、毛泽东思想和邓小平理论,习近平新时代中国特色社会主义思想,贯彻十九大精神,在思想上按党员标准严格要求自己,在工作上勤勤恳恳、……企业纸媒运营思维向新媒体运营的转变探究摘要移动互联网的迅速崛起有效地推动了传统媒体的升级与转型,并带动了新媒体的快速发展。不可置否的是,新媒体的出现给传统纸媒带来了巨大的生存压力,不管是内容还是效应方面,新媒体都以……安全标准化工作总结精选多篇第1篇第2篇第3篇第4篇第5篇更多顶部第一篇:安全标准化工作总结第二篇:安全标准化工作总结第三篇:安全标准化工作总结第四篇:安全标准化工作总结第五篇:安全标准化工作总结更……订单式工学结合育人模式的实践与探究国务院《关于大力发展职业教育的决定》提出:要进一步深化教育教学改革,大力推行工学结合、校企合作的人才培养模式,逐步建立和完善半工半读制度。几年来,笔者所在学校大力开展校企合作,……豫剧名家胶木老唱片赏析胶木唱片在唱片家族中历史较长,尤其是20世纪初期到70年代中期的这段时间,成为了唱片的主流品种。现在较为常见的胶木老唱片,大多都是美、德、英、日在中国开设的唱片公司所生产,如上……平台连续爆雷备案有望提速近段时间,P2P平台连续爆雷,让投资者出现了恐慌的情绪,恐慌挤兑。P2P真的完了么?一位业内人士这样告诉我,互联网金融是国资扶持的行业,而网贷是行业的刚需,它不会消失,只会在监……影响力读书笔记今天是《影响力》读书笔记的最后一章,写完这本读书笔记,如果宝宝还没发动,那么接下来我就继续写《稀缺》的读书笔记,或者从孕妇的角度推荐一些好用的东西。说实话,我觉得看外国人……软件工程师必读的本书你读了吗全文共4614字,预计学习时长14分钟来源:Pexels若想成为一名优秀的软件工程师,在努力写代码的同时,读代码同样至关重要。在当代社会,人们的日常生活因各种……终于找到用起来最顺手的每日计划和复盘的方【本文原创首发于个人日记公众号:李小墨的日记(ID:lxmmovie)】1:hr终于找到用起来最顺手的每日计划和复盘的方法!感谢知识星球小墨的日记圈的同学蔡炜炜,他……如果有梦那就别放弃去努力吧一、想知道消失之后的我是怎样,上天堂享受,还是下地狱受罪,还是在人间灰飞烟灭。二、鹤不想立鸡群,牛头不对马嘴,那就各走各的道好了三、如果有梦,那就别放弃,去努力吧……
毛孔清洁器好吗月经推迟的原因月经推迟有可能是这种原因造成胡睿儿和女友林采缇吸毒林采缇大尺度性感照片天真的梅花鹿爆冷的小笑话你记不住一分钟前的事情世界上最糟糕的种工作第六种体力要求超严格晚上睡觉磨牙是什么原因精神焦虑会导致磨牙附解决方外星人错把地球当监狱一生必去的中国十大旅游景点秒钟决定面试结果说这样招人真的错了上海做埋线提升好的医院是哪家村支书上半年履职报告交通事故主要责任要承担百分之几小孩吃错药急救法酒店员工赞美客人的话术大全美丽的春天淘书乐乐淘淘木盆裂开了如何修复防井下煤层自燃措施休宁道中四首其四一年级上册语文小兔运南瓜教学设计女性分娩时进食的关键机会高一写人作文我的思念1280字肝郁气滞会不会自愈?平常要注意什么?

友情链接:中准网聚热点快百科快传网快生活快软网快好知文好找