SteveKrug《Don't Make Me Think》作品简介与读书感悟

GitHub上有一位叫皮埃尔·德·沃尔夫(PierredeWulf)的童鞋,通过以下方法,检索到了25本网上引用最多的编程书,相信你看过后一定会大呼过瘾!检索方法:1.在搜索引擎检索BestProgr

GitHub上有一位叫皮埃尔·德·沃尔夫(Pierre de Wulf)的童鞋,通过以下方法,检索到了25本网上引用最多的编程书,相信你看过后一定会大呼过瘾!

检索方法:1.在搜索引擎检索 Best Programming Books (最棒的编程书)或类似说法;2.爬虫爬取检索结果;3.检索结果去重;4.根据页面标题快速删除不符条件的链接;5.浏览器访问链接,并通过CSS选择器提取文章标题;6.统计引用次数……(检索方法的详解版见文末传送门)

快随人邮君一起来揭晓吧!

25本最受推崇的编程书

1. 《程序员修炼之道》(推荐67%)

The Pragmatic Programmer:From Journeyman to Master

内容简介:

《程序员修炼之道》之所以在全球范围内广泛传播,被一代代开发者奉为圭臬,是因为它可以创造出真正的价值:或编写出更好的软件,或探究出编程的本质,而所有收获均不依赖于特定语言、框架和方法。

“要把低级的知识放在代码中,它属于那里;把注释保留给其他的高级说明。”—— 引自 第2章 务实的方法

2.《代码整洁之道》(推荐66%)

书名:《Don't Make Me Think, Revisited》作者:Steve Krug 译者:豆瓣评分:8.3 出版社:New Riders 出版年份:2013-12-24 页数:216 内容简介:Since Don’t Make Me Think was first published in 2000, hundreds 。

Clean Code:A Handbook of Agile Software Craftsmanship

内容简介:

书名:《Don‘t make me think》 出版社:机械工业出版社一个网站容易使用最重要的是什么?是“别让我思考!“ 界面设计中一定要遵循可用性第一原则,设计师应该尽量做到,当我看一个页面的时,它应该是不言而喻,一目了然,自我解释的。

干净的代码,既在质量上较为可靠,也为后期维护和升级奠定了良好基础。作为编程领域的佼佼者,本书作者给出了一系列行之有效的整洁代码操作实践,并辅以来自实际项目的正、反两面的范例。只要遵循这些规则,就能编写出干净的代码,从而有效提升代码质量。

“我们都曾经瞟一眼自己亲手造成的混乱,决定弃之不顾,走向新一天。 我们都曾经看到自己的烂代码居然能运行,然后断言能运行的烂程序总比没有强。 我们都曾经说过有朝一日再回头清理。当然,那些日子里,我们都没听过勒布朗( LeBlanc )法则:稍后等于永不( Later equals never.) 。”——引自 第1章 1.2 糟糕的代码

3.《代码大全》(推荐42%)

Code Complete

内容简介:

本书被广泛认为是编程的最佳实用指南,其十多年来一直帮助开发人员编写更好的软件。

这也是一本完整的软件构建手册,涵盖了软件构建过程中的所有细节。它从软件质量和编程思想等方面论述了软件构建的各个问题,并详细论述了紧跟潮流的新技术、高屋建瓴的观点、通用的概念,还含有丰富而典型的程序示例。

“有效地管理(需求)变更是实现高质量的一个关键。”——引自 第20章 软件质量概述

4. 《重构》(推荐35%)

Refactoring: Improving the Design of Existing Code

内容简介:

书中清晰揭示了重构的过程,解释了重构的原理和实践方式,并给出了何时以及何地应该开始挖掘代码以求改善。书中给出了60多个可行的重构,每个重构都介绍了一种经过验证的代码变换手法的动机和技术。

本书提出的重构准则将帮助开发人员一次一小步地修改代码,从而减少开发过程中的风险。

“过去20年,《重构》一直是我案头必备的图书。每次重读,仍有感悟。对我而言,《重构》的意义不只在于指导代码重构,更在于让人从一开始就知道什么是好的代码,并且尽量写出没有&39;的代码。Martin Fowler这次对本书进行的重构,体现了近年来编程领域的一些思潮变化。看来,既有设计,永远有改进空间。”——韩磊,《代码整洁之道》译者

5.《深入浅出设计模式》(推荐29.4%)

Head First Design Patterns

内容简介:

本书向您展示了功能强大、优雅、可重用、灵活的设计模式,并利用认知科学和学习理论的最新研究来创造多感官的学习体验,采用视觉丰富的形式,专门为大脑的工作方式而设计,而不是使您沉入睡眠的繁琐的文本输入法形式。

“针对接口编程,而不是针对实现编程。”——引自 影印版 第11页

6.《人月神话》(推荐27.9%)

The Mythical Man-Month:Essays on Software Engineering

内容简介:

本书内容源于作者Brooks在IBM公司任System/360计算机系列以及其庞大的软件系统OS/360项目经理时的实践经验。在本书中,Brooks为人们管理复杂项目提供了最具洞察力的见解,既有很多发人深省的观点,又有大量软件工程的实践,为每个复杂项目的管理者给出了自己的真知灼见。

“简洁和直白来自概念的完整性。每个部分必须反映相同的原理、原则和一致的折衷机制。在语法上,每个部分应使用相同的技巧;在语义上,应具有同样的相似性。因此,易用性实际上需要设计的一致性和概念的完整性。”——引自 章节 团队的性质

7. 《代码整洁之道:程序员的职业素养》(推荐27.9%)

The Clean Coder:A Code of Conduct for Professional Programmers

内容简介:

本书是编程大师 Bob 大叔 40 余年编程生涯的心得体会,讲解成为真正专业的程序员需要什么样的态度、原则,需要采取什么样的行动。作者以自己以及身边的同事走过的弯路、犯过的错误为例,意在为后来人引路,助其职业生涯迈上更高台阶。

“软件行业的飞速改变,意味着软件开发人员必须坚持广泛学习才不至于落伍。”——引自 第1章 专业主义

8.《修改代码的艺术》(推荐26.4%)

Working Effectively with Legacy Code

内容简介:

世界级计算机专家Michael C. Feathers的经典之作,软件开发大师Robert C. Martin作序倾情推荐,修改遗留代码的权威指南。深入剖析修改遗留代码的各种方法和策略,从理解遗留代码、为其编码测试、重构及增加特性等方面给出大量实用建议,是所有程序开发人员必读之作。

“封装是好事情,但可别对测试人员这么说,他们可不这样想。过分庞大的类往往隐藏了过多的东西。”——引自 第20章 处理大类

9. 《设计模式》(推荐25%)

Design Patterns

内容简介:

四位顶尖的设计师在面向对象软件的设计方面积累了丰富的经验,针对常见的设计问题提出了一系列简洁、明了的解决方案。这23种设计模式可让设计人员创建更加灵活,美观,可重用的设计,而无需自己再寻找解决方案。

steve krug的著作《点石成金》(don't make me think)介绍了如何设计处无需动脑就能使用的界面。1.完成任务的三大负荷(从多到少排列):认知:思考和记忆 ; 视觉:浏览屏幕 ;行动:点击按钮,操作鼠标,打字 2.权衡与取舍:点击负荷比思考。

SteveKrug《Don't Make Me Think》作品简介与读书感悟

“将系统分解成对象集合要考虑许多因素:封装、粒度、依赖关系、灵活性、性能、演化、复用等等,它们都影响着系统的分解,并且这些因素通常还是互相冲突的。”——引自 第1章 1.5 组织编目

10. 《程序员面试金典(第6版)》(推荐22%)

Cracking the Coding Interview

内容简介:

本书层层紧扣程序员面试的每一个环节,全面而详尽地介绍了程序员应当如何应对面试,才能在面试中脱颖而出。

内容主要涉及面试流程解析,面试官的幕后决策及可能提出的问题,面试前的准备工作,对面试结果的处理,以及出自微软、苹果、谷歌等多家知名公司的189道编程面试题及详细解决方案。

第6版修订了上一版中一些题目的解法,为各章新增了介绍性内容,加入了更多的算法策略,并增添了对所有题目的提示信息。

“我不是招聘人员,我是软件工程师。因此,我知道要当场提出出色的算法,Me,然后在白板上编写无瑕的代码是什么感觉。 作为候选人和面试官,我都经历过这个过程。”——引自 序

11. 《软技能》(推荐22%)

Soft Skills:The Sofeware Developer's Life Manual

内容简介:

这是一本真正从“人”(既非技术也非管理)的角度关注软件开发人员自身发展的书。

开发人员兼生活教练John Sonmez就重要的“软”主题向开发人员提供了建议,例如职业和生产力,个人理财和投资,甚至健身和人际关系。

这本有趣的书以71个简短章节的集合为基础,邀请您随时随地欣赏。每章末尾的“采取行动”部分向您展示了如何快速获得结果。

“只有你开始把自己当作一个企业去思考时,你才能开始做出良好的商业决策。”——引自 第2章 从非同凡响开始

12. 《点石成金》(推荐19.1%)

Don't Make Me Think

内容简介:

本书是一本关于Web设计原则的书,为你揭示Web设计中重要但却容易被忽视的问题,只需几个小时,你便能对照书中讲授的设计原则找到网站设计的症结所在,令你的网站焕然一新。

“我们使用web的三个事实:1.我们不是阅读,而是扫描;2.我们不做最优选择,而是满意即可;3.我们不是追根究底,而是勉强应付。”——引自 第2章 我们实际上是如何使用Web的

13. 《编码:隐匿在计算机软硬件背后的语言》(推荐19.1%)

Code:The Hidden Language of Computer Hardware and Software

内容简介:

一本讲述计算机工作原理的书。不过,你千万不要因为“工作原理”之类的字眼就武断地认为,它是晦涩而难懂的。作者用丰富的想象和清晰的笔墨将看似繁杂的理论阐述得通俗易懂,你丝毫不会感到枯燥和生硬。

更重要的是,Don’t,你会因此而获得对计算机工作原理较深刻的理解。这种理解不是抽象层面上的,而是具有一定深度的,这种深度甚至不逊于“电气工程师”和“程序员”的理解。

不管你是计算机高手,还是对这个神奇的机器充满敬畏之心的菜鸟,都不妨翻阅一下本书,读一读大师的经典作品,必定会有收获。

“正如通过研究莫尔斯码我们可以很方便地了解编码的本质一样,通过发报机来了解计算机硬件也是个不错的途径。”——引自 第2章 编码与组合

14.《算法导论》(推荐17.6%)

Introduction to Algorithms

内容简介:

本书将严谨性和全面性融为一体,深入讨论各类算法;各章自成体系,可以作为独立的学习单元;算法以英语和伪代码的形式描述,具备初步程序设计经验的人就能看懂;说明和解释力求浅显易懂,同时又不失深度和数学严谨性。

“动态规划算法的设计可以分为如下四个步骤:1.描述最优解的结构。2.递归定义最优解的值。3.按自底向上的方式计算最优解的值。4.由计算出的结果构造一个最优解。”——引自 第15章 动态规划

15. 《人件》(推荐17.6%)

Peopleware:Productive Projects and Teams

Steve Krug的这本《Don't Make Me Think》,中文名叫《点石成金:访客至上的Web和移动可用性设计秘笈》,虽然提到了移动,但绝大多数内容是关于Web设计中的可用性设计。原书第一版是2000年写成的,第三版是2013年的,从时效性上讲,已。

内容简介:

本书是软件管理领域的传奇经典,被誉为“对美国软件业影响最大的一本书”。

全书从管理人力资源、创建健康的办公环境、雇用并留用正确的人、高效团队形成、改造企业文化和快乐工作等多个角度阐释了如何思考和管理软件开发的最大问题——人(而不是技术),以得到高效的项目和团队。

“加班就像冲刺:跑马拉松跑到最后100码,体力还有剩余才算有意义。若一开始就冲刺,那你纯粹就是浪费时间。让人们过度冲刺,只能让大家失去对管理者的尊重。” ——引自 章节 西班牙理论

16.《编程珠玑》(推荐16.1%)

Programming Pearls

内容简介:

本书是计算机科学方面的经典名著,书的内容围绕程序设计人员面对的一系列实际问题展开。

本书的特色是通过一些精心设计的有趣而又颇具指导意义的程序,对实用程序设计技巧及基本设计原则进行透彻而睿智的描述,为复杂的编程问题提供清晰而完备的解决思路。

本书对各个层次的程序员都具有很高的阅读价值。

“将重复性代码改写到数组中,封装复杂的结构,尽可能地使用高级工具,让数据去构造程序。”——引自 第3章 数据决定程序结构

17. 《企业应用架构模式》(推荐14.7%)

Patterns of Enterprise Application Architecture

内容简介:

“关系数据库的映射开销大概是程序开发总开销的 1/3。现代的系统允许把引用完整性检查延迟到交互结束的时候进行。如果有这个能力,没有道理不使用它。” ——引自 第2章 组织领域逻辑

18. 《计算机程序的构造和解释》(推荐13.2%)

Structure and Interpretation of Computer Programs

内容简介:

在过去的二十多年里,《计算机程序的构造和解释》对计算机科学的教育计划产生了深刻的影响。这一期待已久的修订版对全文进行了更改。本书中大多数的主要编程系统都有新的实现方式,包括解释器和编译器。作者根据其后十余年的教学实践,还对其他许多细节做了相应的修改。

19. 《计算机程序设计艺术》(推荐10.2%)

The Art of Computer Programming

《计算机程序设计艺术》系列是公认的计算机科学领域经典之作,深入阐述了程序设计理论,对计算机领域的发展有着极为深远的影响。

“计算机科学既壮观又幽美,我尝试尽自己所能,以恰当的方式来解释我所了解的某些片断。很显然,我自己并没有任何超自然能力,但的确很喜欢讲述那些似乎静静地等待着人们去讲出来的故事。写书跟讲故事十分类似。” ——图灵访谈之专访Donald E. Knuth

20.《领域驱动设计》(推荐10.2%)

Domain-Driven Design:Tackling Complexity in the Heart of Software

内容简介:

本书是领域驱动设计方面的经典之作,全书围绕着设计和开发实践,结合若干真实的项目案例,向读者阐述如何在真实的软件开发中应用领域驱动设计。书中给出了领域驱动设计的系统化方法,并将人们普遍接受的一些实践综合到一起,并融入了作者的见解和经验,展现了一些可扩展的设计新实践、已验证过的技术以及便于应对复杂领域的软件项目开发的基本原则。

“至少20年前,一些顶尖的软件设计人员就已经认识到领域建模和设计的重要性,但是令人惊讶的是,这么长时间以来很少有人写出点什么,告诉大家应该做哪些工作以及如何去做。尽管这些工作还没有被清楚地表述出来,但是一种新的思潮已经形成,它像一股暗流一样在对象社区中涌动,我把这种思潮称为 &39; 。” ——引自 前言

21. 《编程人生》(推荐10.2%)

Coders At Works

内容简介:

这是一本访谈笔录,记录了当今世界最具个人魅力的15位软件先驱的编程生涯,包括DonaldKnuth、Jamie Zawinski、Joshua Bloch、Ken Thompson等在内的业界传奇人物。

“真想做到跨平台的话,就必须同时开发。所谓的移植只会令产品在第二平台上蹩脚不堪。”——引自 第1篇 Jamie Zawinski

22. 《快速软件开发》(推荐8.8%)

Steve Krug sets some basic principles on the usability of interfaces and shares them with professionals working in this field which makes the book one of the top essential resources recommended for UX designers. “Don’t 。

Rapid Development:Taming Wild Software Schedules

内容简介:

公司和商业软件开发团队都希望找到一个重要问题的解决方案,那就是如何掌控他们的高压开发进度。在《快速软件开发》中,作者Steve McConnell谈到了通过整体策略,特定的最佳实践和重要的技巧来解决这个问题,这些技巧有助于缩小和控制开发进度并保持项目的进展。

《快速软件开发》是有效的应用程序开发指南。

“毫无疑问,激励是决定工作表现最重要的影响因素。大多数关于生产率的研究表明,激励对生产率的影响比任何其他因素都大。”—— 引自 第11章 激励机制

23. 《Python编程无师自通 专业程序员的养成》(推荐8.8%)

The Self-Taught Programmer:The Definitive Guide to Programming Professionally

内容简介:

本书作者是一名自学成才的程序员,经过一年的自学,掌握了编程技能并在eBay找到了一份软件工程师的工作。本书是作者结合自己学习编程的过程以及工作经验写作而成,旨在帮助读者从外行成长为一名专业的Python程序员。

本书不仅教读者如何使用Python语言编程,还会介绍其他书中所忽略的、编程初学者应该了解并掌握的其他所有知识点。

“不管你从事什么工作,编程都有助于你的职业发展。学习编程将给你自己赋能。我喜欢尝试新想法,时刻都有希望启动的新项目。学会编程后,我就可以坐下来自己实现,而不需要依赖他人。”——引自 第1章 1.6 为什么应该编程

24. 《算法》(推荐8.8%)

Algorithms

内容简介:

“深入浅出,非常经典。印象最深的是在红黑树一章里面,用了一个 2-3 搜索树的例子来加强理解,书中所附的代码都非常简短精致。有意在 IT 行业向技术方向发展的同学们都应该读一下,强烈推荐。”——读者·Ted

25. 《持续交付》(推荐8.8%)

内容简介:

本书讲述了如何实现更快、更可靠、低成本的自动化软件交付。

本书由三部分组成。第一部分阐述了持续交付背后的一些原则,以及支持这些原则的实践。第二部分是本书的核心,全面讲述了部署流水线。第三部分围绕部署流水线的投入产出讨论了更多细节,包括增量开发技术、高级版本控制模式,以及基础设施、环境和数据的管理和组织治理。

上一篇 2022年12月19 19:03
下一篇 2022年12月07 20:44

相关推荐

关注微信