首页>商店

适合你头脑的代码:软件工程的启发式

物超所值购买

图书+电子书捆绑包

  • 你的价格:43.19美元
  • 标价:71.98美元
  • 包括EPUB和PDF
  • 关于电子书格式
  • 这本电子书包括以下格式,可从您的账户购买后页面:

    ePubEPUB这是一种开放的行业格式,以其可回流的内容和在受支持的移动设备上的可用性而闻名。

    Adobe ReaderPDF流行的标准,最常与自由一起使用Adobe®®读者软件

    这本电子书不需要密码或激活阅读。我们通过谨慎地用您的名字标记水印来定制您的电子书,使其独一无二。

更多购买选择

  • 你的价格:31.99美元
  • 标价:39.99美元
  • 通常在24小时内发货。

电子书(水印)

  • 你的价格:25.59美元
  • 标价:31.99美元
  • 包括EPUB和PDF
  • 关于电子书格式
  • 这本电子书包括以下格式,可从您的账户购买后页面:

    ePubEPUB这是一种开放的行业格式,以其可回流的内容和在受支持的移动设备上的可用性而闻名。

    Adobe ReaderPDF流行的标准,最常与自由一起使用Adobe®®读者软件

    这本电子书不需要密码或激活阅读。我们通过谨慎地用您的名字标记水印来定制您的电子书,使其独一无二。

关于

特性

  • 以可持续的速度编写代码和创建可持续的代码基础的可行建议,作者是Robert C. Martin的cleancoders.com上的“人性化代码”系列的作者
  • 帮助开发人员控制复杂性,在预算和资源限制下构建伟大的软件
  • 包含c#代码示例,并附有在Git存储库中组织的全面示例应用程序代码库
  • 精心编写,为使用任何面向对象的企业语言(c#、Java等)的开发人员提供服务
  • Addison Wesley著名的关于更好的软件开发的Robert C. Martin系列的最新标题

描述

  • 版权2022
  • 尺寸:7" x 9-1/8"
  • 页:416
  • 版本:1
  • ISBN-10: 0-13-746440-1
  • ISBN-13: 978-0-13-746440-1

如何降低代码复杂度,更可持续地开发软件

“Mark Seemann以清晰透彻地解释复杂概念而闻名。在这本书中,他将他广泛的软件开发经验浓缩成一套实用的、实用的技术,用于编写可持续的、对人类友好的代码。这本书将是每个程序员的必读之书。”
--Scott Wlaschin,《领域建模实现功能
适合你大脑的代码为以可持续的速度编写代码和控制导致项目失控的复杂性提供了不可或缺的实用建议。

Mark Seemann凭借数十年帮助软件团队取得成功的经验,指导您从零开始(无代码)到部署功能,并展示了如何在添加功能、解决横切关注点、排除故障和优化时保持良好的巡航速度。您将发现从检查清单到团队合作、封装到分解、API设计到单元测试等关键问题的有价值的想法、实践和过程。

Seemann从一个完整的示例项目中抽取代码示例来阐明他的见解。它们是用c#编写的,对于使用任何面向对象语言(包括Java、c++和Python)的人来说,它们都是清晰而有用的。为了便于更深入的探索,所有代码和广泛的提交消息都可以下载。
  • 选择有效的思维方式和流程,避开无效的糟糕隐喻
  • 使用清单来解放自己,用你已经拥有的技能来提高结果
  • 通过创建和部署应用程序的垂直部分来克服分析瘫痪
  • 抵消导致代码腐烂和不必要的复杂性的力量
  • 掌握更好的技术来改变代码行为
  • 发现更快速有效地解决代码问题的方法
  • 更有效地考虑性能和安全性
如果你曾经经历过糟糕的项目,或者不得不处理不可维护的遗留代码,本指南将帮助你下次和每次都做得更好。

注册你的书,方便下载,更新,和/或更正,因为他们变得可用。详情见内页。

下载

下载

注册你的书要访问本书的源代码,请下载文件。

临时演员

作者的网站

请访问作者的网站https://blog.ploeh.dk/

示例内容

在线示例章节

如何排除代码故障

摘录

适合你大脑的代码:前言

API设计中的方法命名

软件系统日志

测试驱动开发的科学

样页

下载样例页面(包括第12章)

参考书目(81kb .pdf)

目录表

系列编辑前言
前言二十三
作者简介


第一部分:加速度

第一章:艺术还是科学?3.

1.1建房子
1.2种植花园
1.3走向工程8
1.4结论14

第二章:清单
2.1帮助记忆
2.2新代码库的检查表
2.3向现有代码库添加检查
2.4结论32

第3章:处理复杂性
3.1目的34
3.2为什么编程很难
3.3走向软件工程
3.4结论46

第四章:垂直切片
4.1从工作软件开始
4.2行走的骨架53
4.3由外至内60
4.4完成切片77
4.5结论85

第5章:封装
5.1保存数据87 .单击“保存”
5.2验证92
5.3不变量的保护
5.4结论108

第六章:三角测量
6.1短期记忆与长期记忆
6.2容量114
6.3结论127

第七章:分解
7.1 Code Rot 129
7.2适合你大脑的代码
7.3结论153

第8章:API设计
8.1 API设计原则
8.2 API设计示例
8.3结论176

第九章:团队合作
9.1 Git 178
9.2集体代码所有权
9.3结论199

第二部分:可持续发展201

第十章:扩充代码

10.1特性标志204
10.2扼杀者模式
10.3版本管理218
10.4结论220

第十一章:编辑单元测试
11.1重构单元测试
11.2请参见测试失败233
11.3结论234

第12章:故障排除
12.1理解235
12.2缺陷240
12.3第二部分250
12.4结论255

第十三章:关注点的分离
13.1作文258
13.2交叉关注
13.3结论274

第十四章:节奏
14.1个人节奏
14.2团队节奏
14.3结论285

第十五章常见的嫌疑犯
15.1性能288
15.2安全性
15.3其他技术
15.4结论308

第十六章:第309章
16.1导航309
16.2架构318
16.3使用方法
16.4结论

附录A:实践清单
A.1第329条第50/72条
A.2 80/24规则
330 .答案:a
A.4第330节
A.5新代码库检查表
A.6命令查询分离
A.7统计变量
A.8圈复杂度
A.9用于横切关注点的装饰器
a .《魔鬼代言人
A.11特性标志
A.12功能核心,命令式Shell
A.13沟通层次
A.14说明333规则例外的理由
A.15解析,不验证
A.16 Postel定律
A.17红绿重构器
A.18定期更新依赖项
A.19将缺陷复制为测试
A.20复查代码335
A.21语义版本控制
A.22分别重构测试代码和生产代码
A.23切片336
A.24扼杀者
A.25威胁-型号337
A.26转型优先前提
A.27 x驱动的发展
A.28 X输出名称

参考书目339
指数349

更多的信息

金宝搏188亚洲体育真人始乐InformIT促销邮件和特别优惠

我希望收到独家报价,并听到有关InformIT及其品牌家族的产品。金宝搏188亚洲体育真人始乐我可以随时退订。

概述


培生教育有限公司(Pearson Education, Inc., 221 River Street, Hoboken, New Jersey 07030)提供本网站,提供可通过本网站购买的产品和服务的信息。

本隐私声明概述了我们对隐私的承诺,并描述了我们如何收集、保护、使用和共享通过本网站收集的个人信息。请注意,培生的其他网站和在线产品及服务有其单独的隐私政策。

信息的收集和使用


为了开展业务并提供产品和服务,培生通过与本网站相关的几种方式收集和使用个人信息,包括:

问题及查询

对于查询和问题,我们会收集查询或问题,以及姓名、联系方式(电子邮件地址、电话号码和邮寄地址)以及通过“联系我们”表格或电子邮件自愿提交给我们的任何其他附加信息。我们使用这些信息来解决询问和回答问题。

在线商店

对于通过本网站上的在线商店下达的订单和购买,我们会收集订单详细信息、名称、机构名称和地址(如适用)、电子邮件地址、电话号码、送货和账单地址、信用卡/借记卡信息、送货选项和任何指示。我们使用这些信息来完成交易、履行订单、与下订单或访问在线商店的个人沟通,以及用于相关目的。

调查

培生可能提供提供反馈或参与调查的机会,包括评估培生产品、服务或网站的调查。参与是自愿的。培生收集调查问题中要求的信息,并使用这些信息来评估、支持、维护和改进产品、服务或网站,开发新产品和服务,进行教育研究以及调查中指定的其他目的。

比赛及绘图

偶尔,我们可能会赞助比赛或绘画。参与是可选的。培生收集参赛者姓名、联系方式和其他填写在参赛表格上的信息,以进行比赛或抽奖。培生可能会根据法律要求,从竞赛或抽奖的获胜者那里收集额外的个人信息,以便颁发奖品和用于税务报告目的。

时事通讯

如果您已选择接收电子邮件通讯或促销邮件和特别优惠,但想取消订阅,只需电子邮件information@金宝搏188亚洲体育真人始乐informit.com

服务公告

在极少数情况下,有必要发布严格与服务相关的公告。例如,如果我们的服务因维护而暂时停止,我们可能会向用户发送电子邮件。一般来说,用户不能选择退出这些通信,但他们可以停用他们的帐户信息。然而,这些通信在本质上不是促销。

客户服务

我们定期与用户沟通,以提供所要求的服务,并且当用户通过我们的网站提交信息时,我们会根据用户的意愿通过电子邮件或电话回复与他们的帐户有关的问题联络表格

其他信息的收集和使用


应用和系统日志

培生自动收集日志数据,以帮助确保本网站的交付、可用性和安全性。日志数据可能包括有关用户或访问者如何连接到本网站的技术信息,例如浏览器类型、计算机/设备类型、操作系统、互联网服务提供商和IP地址。我们将此信息用于支持目的和监控站点的运行状况、识别问题、改进服务、检测未经授权的访问和欺诈活动、预防和响应安全事件以及适当地扩展计算资源。

网络分析

培生可能会使用第三方网络趋势分析服务(包括Google Analytics)来收集访问者信息,如IP地址、浏览器类型、参考页面、访问过的页面以及在特定网站上花费的时间。虽然这些分析服务以匿名方式收集和报告信息,但它们可能会使用cookie来收集网络趋势信息。收集的信息可能使Pearson(但不是第三方web趋势服务)能够将信息与应用程序和系统日志数据链接起来。培生将这些信息用于系统管理、识别问题、改进服务、检测未经授权的访问和欺诈活动、预防和响应安全事件、适当扩展计算资源以及支持和提供本网站及其服务。

Cookies及相关技术

本网站使用cookie和类似的技术来个性化内容,测量流量模式,控制安全性,跟踪本网站信息的使用和访问,并提供基于兴趣的消息和广告。用户可以通过浏览器管理和阻止cookie的使用。禁用或阻止某些cookie可能会限制本网站的功能。

不要跟踪

本网站目前不响应禁止跟踪信号。

安全


培生采用适当的物理、管理和技术安全措施来保护个人信息免遭未经授权的访问、使用和披露。

孩子们


本网站不面向13岁以下儿童。

市场营销


培生可以向用户发送或直接发送营销信息,前提是

  • 培生不会将作为K-12学校服务提供商收集或处理的个人信息用于定向或有针对性的广告。
  • 这种营销符合适用法律和培生的法律义务。
  • 培生不会故意直接或发送营销通信给个人谁表示了偏好不接受营销。
  • 在适用法律要求的情况下,对营销的明示或默示同意存在且未撤销。

培生可以在有限的基础上向第三方服务提供商提供个人信息,仅代表培生或培生作为其服务提供商的关联公司或客户进行营销。营销偏好可能随时发生变化。

更正/更新个人资料


如果用户的个人身份信息发生变化(例如您的邮寄地址或电子邮件地址),我们将提供一种方法来更正或更新用户提供给我们的个人数据。这可以在帐户页面.如果用户不再需要我们的服务,并希望删除他或她的帐户,请联系我们customer-service@金宝搏188亚洲体育真人始乐informit.com我们将处理用户帐户的删除。

选择/退出


用户可以在知情的情况下选择是否继续使用InformIT提供的某些服务。金宝搏188亚洲体育真人始乐如果您选择从我们的邮件列表中删除自己,只需访问以下页面并取消您不再希望接收的任何通信:www.金宝搏188亚洲体育真人始乐informit.com/u.aspx

出售个人资料


培生不会出租或出售个人信息以换取任何金钱。

虽然皮尔逊不出售个人信息,根据内华达州法律的定义,内华达州居民可以通过电子邮件请求不出售他们的个人信息NevadaDesignatedRequest@pearson.com

加州居民补充隐私声明


加州居民应该读读我们的加州居民补充隐私声明连同本私隐声明一并提交。的加州居民补充隐私声明解释培生遵守加州法律的承诺,并适用于通过本网站和服务收集的加州居民的个人信息。

分享与披露


培生可能会在以下情况下披露个人信息:

  • 这是法律规定的。
  • 经个人同意(或其父母同意,如果个人是未成年人)
  • 在法律允许或要求的范围内响应传票、法院命令或法律程序
  • 根据适用法律保护个人、数据、资产和系统的安全
  • 与出售、合资或以其他方式转让部分或全部公司或资产有关,但须遵守本隐私声明的规定
  • 调查或处理实际的或涉嫌的欺诈或其他非法活动
  • 行使其合法权利,包括执行本网站的使用条款或其他合同
  • 培生的附属公司以及为培生工作的其他公司和组织,他们有义务按照本隐私声明保护个人信息的隐私
  • 对于学校、组织、公司或政府机构,培生在学校或代表这些组织、公司或政府机构收集或处理个人信息。

链接


本网站包含到其他网站的链接。请注意,我们不负责此类其他网站的隐私做法。我们鼓励我们的用户在离开我们的网站时保持警惕,并阅读每个收集个人信息的网站的隐私声明。本隐私声明仅适用于本网站收集的信息。

请求及联络


联系我们查阅本私隐声明,或对您的个人资料私隐有任何要求或疑问。

本隐私声明的变更


我们可能会通过更新发布来修改本隐私声明。我们将在公告中注明修订的生效日期。通常,进行更新是为了提供更大的清晰度或符合法规要求的变化。如果更新涉及个人信息的收集、保护、使用或披露的重大变化,培生将通过本网站的显著通知或其他适当方式提供变更通知。在已发布的修改证明生效日期后继续使用本网站。如果您对本隐私声明有任何疑问或疑虑,或对任何修订有任何异议,请与我们联系。

最后更新:2020年11月17日