程序员应该知道的97件事

程序员应该知道的97件事 pdf epub mobi txt 电子书 下载 2026

出版者:电子工业出版社
作者:Kevlin Henney
出品人:
页数:256
译者:李军 译
出版时间:2010-9
价格:45.00元
装帧:平装
isbn号码:9787121117565
丛书系列:
图书标签:
  • 程序设计
  • 计算机
  • 编程
  • 软件开发
  • 程序员
  • 程序员应该知道的97件事
  • 软件工程
  • O'Reilly
  • 程序员
  • 编程
  • 技术
  • 知识
  • 经验
  • 开发
  • 算法
  • 系统
  • 学习
  • 职业
想要找书就要到 小美书屋
立刻按 ctrl+D收藏本页
你会得到大惊喜!!

具体描述

本书是一线程序员的经验荟萃,他们根据各自在软件工程各环节里的实践经历,现身说法,提出了自己的真知灼见,这些经验涵盖了用户需求、系统分析设计、编码实践、编码风格、Bug管理和项目管理等多个方面。来自各领域的程序员都能从中找到自己感兴趣的内容,因此本书适合不同层次程序员的阅读。

作者简介

目录信息

前言 I
谨慎行动 2
勒布•罗斯(Seb Rose)
函数式编程原则的应用 4
爱德华•加森(Edward Garson)
试问自己“用户会怎么做?”(你不能算是用户) 6
吉尔斯•科尔伯恩(Giles Colborne)
编码标准的自动化 8
菲利普•冯•莱能(Filip van Laenen)
美在于简单 10
乔恩•奥尔姆海姆(Jørn Ølmheim)
在你重构之前 12
拉吉斯•阿塔帕图(Rajith Attapattu)
谨防共享 14
伍迪•达汉(Udi Dahan)
童子军规则 16
罗伯特•C•马丁(鲍伯大叔)(Robert C. Martin (Uncle Bob))
在责备别人之前先检查自己的代码 18
阿伦•凯利(Allan Kelly)
谨慎选择你的工具 20
乔瓦尼•阿斯普罗尼(Giovanni Asproni)
领域语言里的代码 22
丹•诺斯(Dan North)
代码就是设计 24
瑞恩•布勒西(Ryan Brush)
关于代码布局的麻烦事 26
史蒂夫•弗里曼(Steve Freeman)
代码审查 28
马蒂亚斯•卡尔森(Mattias Karlsson)
编写代码的理由 30
耶切尔•凯姆治(Yechiel Kimchi)
对注释的一个注释 32
卡尔•埃文斯(Cal Evans)
代码说不清,注释来补充 34
凯文•亨尼(Kevlin Henney)
不断学习 36
克林特•谢恩克(Clint Shank)
易用不是一种能力 38
格雷格•霍普(Gregor Hohpe)
早部署,常部署 40
史蒂夫•巴克扎克(Steve Berczuk)
区分业务异常和技术异常 42
丹•贝格•约翰松(Dan Bergh Johnsson)
有针对性地勤加练习 44
乔恩•贾格尔(Jon Jagger)
领域特定语言 46
迈克尔•亨格(Michael Hunger)
不要怕搞砸 48
麦克•里维斯(Mike Lewis)
不要在你的测试代码里装可爱 50
洛德•贝吉比(Rod Begbie)
不要忽略那个错误 52
皮特•古德利夫(Pete Goodliffe)
不要只学习语言,还要了解它的文化内涵 54
安德斯•诺拉斯(Anders Norås)
不要把程序钉死在老地方 56
维里蒂•什托布(Verity Stob)
不要指望“魔法会在此发生” 58
艾伦•格里菲思(Alan Griffiths)
不要重复你自己 60
史蒂夫•史密斯(Steve Smith)
别碰那些代码! 62
卡尔•埃文斯(Cal Evans)
封装行为,而不仅仅是状态 64
埃纳尔•兰德雷(Einar Landre)
浮点数不是真正的数 66
查克•阿利森(Chuck Allison)
开源助你实现雄心壮志 68
理查德•默森-海菲尔(Richard Monson-Haefel)
API设计的黄金法则 70
迈克尔•费瑟(Michael Feathers)
高手神话 72
瑞恩•布勒西(Ryan Brush)
加班加点,事倍功半 74
奥尔夫•莫德尔(Olve Maudal)
如何使用bug跟踪器 76
马特•多尔(Matt Doar)
代码的去芜存菁 78
皮特•古德利夫(Pete Goodliffe)
安装我吧 80
马库斯•巴克(Marcus Baker)
进程间通信对应用程序响应时间的影响 82
兰迪•斯坦福(Randy Stafford)
保持构建的整洁 84
约翰内斯•布罗德沃(Johannes Brodwall)
知道如何使用命令行工具 86
卡罗尔•罗宾逊(Carroll Robinson)
通晓两门以上编程语言 88
拉塞尔•文德(Russel Winder)
了解你的IDE 90
亨氏•卡布兹(Heinz Kabutz)
了解你的局限性 92
格雷格•科尔文(Greg Colvin)
知道你下次提交的内容 94
丹•贝格•约翰松(Dan Bergh Johnsson)
大型、相关联的数据 属于数据库 96
迪奥米德斯•斯皮内利斯(Diomidis Spinellis)
学习外语 98
克劳斯•马夸特(Klaus Marquardt)
要学会估算 100
乔瓦尼•阿斯普罗尼(Giovanni Asproni)
学着说“Hello,World” 102
托马斯•盖斯特(Thomas Guest)
让你的项目能表达它自己 104
丹尼尔•林德纳(Daniel Lindner)
链接器(Linker)并不神秘 106
沃尔特•布莱特(Walter Bright)
临时解决方案的寿命 108
克劳斯•马夸特(Klaus Marquardt)
使接口易于正确使用,难于错误使用 110
斯科特•迈尔斯(Scott Meyers)
让不可见的更加显眼 112
乔恩•贾格尔(Jon Jagger)
在并行系统中使用消息传递可获得更好的伸缩性 114
拉塞尔•文德(Russel Winder)
带给未来的消息 116
琳达•瑞辛(Linda Rising)
错失采用多态的机会 118
柯克•佩珀丁(Kirk Pepperdine)
奇闻轶事:测试人员是你的朋友 120
比尔克•胡夫纳盖尔(Burk Hufnagel)
二进制文件仅此一份 122
史蒂夫•弗里曼(Steve Freeman)
有代码有真相 124
彼得•索默莱德(Peter Sommerlad)
拥有(以及重构)构建脚本 126
史蒂夫•巴克扎克(Steve Berczuk)
结对编程,感受流程 128
古德妮•霍克尼斯,卡里•罗斯兰,安•卡特林•加耐特(Gudny Hauknes、Kari Røssland、Ann Katrin Gagnat)
特定领域类型胜过原始类型 130
埃纳尔•兰德雷(Einar Landre)
预防错误 132
吉尔斯•科尔伯恩(Giles Colborne)
专业程序员 134
罗伯特•C•马丁(鲍伯大叔)(Robert C. Martin (Uncle Bob))
把一切都置于版本控制之下 136
迪奥米德斯•斯皮内利斯(Diomidis Spinellis)
放下鼠标,远离键盘 138
比尔克•胡夫纳盖尔(Burk Hufnagel)
阅读代码 140
卡利亚恩•伯格(Karianne Berg)
读懂人性 142
基斯•布雷斯韦特(Keith Braithwaite)
经常重新发明轮子 144
贾森•P•塞奇(Jason P. Sage)
抗拒单子模式的诱惑 146
山姆•沙利斯特(Sam Saariste)
通向高性能之路布满了脏代码炸弹 148
柯克•佩珀丁(Kirk Pepperdine)
简单来自于删减 150
保罗•W•荷马(Paul W. Homer)
单一职责原则 152
罗伯特•C•马丁(鲍伯大叔)(Robert C. Martin (Uncle Bob))
从Yes开始 154
亚历克斯•米勒(Alex Miller)
请转回去做自动化、自动化、自动化 156
戴•伊霍斯特曼(Cay Horstmann)
充分利用代码分析工具 158
萨拉•芒特(Sarah Mount)
为必需行为测试,而不是偶发行为 160
凯文•亨尼(Kevlin Henney)
测试要严密而具体 162
凯文•亨尼(Kevlin Henney)
在睡觉的时候(或者度周末的时候)进行测试 164
拉吉斯•阿塔帕图(Rajith Attapattu)
软件开发的工程严密性来自测试 166
尼尔•福特(Neal Ford)
关于状态的思想 168
尼克拉斯•尼尔森(Niclas Nilsson)
一人计短,二人计长 170
阿德里安•威伯尔(Adrian Wible)
错上加错就是貌似正确(并且难以纠正) 172
阿伦•凯利(Allan Kelly)
我写代码为人人,人人为我写代码 174
阿斯拉姆•汉(Aslam Khan)
Uinx工具是你的好朋友 176
迪奥米德斯•斯皮内利斯(Diomidis Spinellis)
使用正确的算法和数据结构 178
简•克里斯蒂安(JC)•冯•温克尔(Jan Christiaan “JC” van Winkel)
冗长的日志会让你睡不安枕 180
约翰内斯•布罗德沃(Johannes Brodwall)
WET掩盖了性能瓶颈 182
柯克•佩珀丁(Kirk Pepperdine)
当程序员和测试人员开始合作的时候 184
珍妮特•格雷戈里(Janet Gregory)
编写代码时要像余生都要给它提供支持一样 186
尤里•祖巴列夫(Yuriy Zubarev)
使用实例编写小函数 188
基斯•布雷斯韦特(Keith Braithwaite)
测试为人而写 190
杰拉德•梅萨罗斯(Gerard Meszaros)
你应该关心你的代码 192
皮特•古德利夫(Pete Goodliffe)
心口不一的客户 194
内特•杰克逊(Nate Jackson)
作者简介 196
索引 221
· · · · · · (收起)

读后感

评分

评分

评分

评分

评分

用户评价

评分

坦白说,这本书的价值并不在于提供最新的框架教程——那些东西半衰期太短了。它的生命力在于它所探讨的那些跨越技术周期的、关于人、关于系统、关于复杂性的本质问题。我最喜欢的一点是,它在讨论技术决策时,总是能巧妙地平衡理想主义和现实主义。它不会苛求我们必须写出绝对完美的代码,而是教会我们如何在资源、时间和预期之间做出最优的权衡,以及如何清晰地向非技术人员解释这种权衡的代价。这种成熟的视角,是大量实战经验淬炼出来的智慧。它让我感觉自己不再是那个只会埋头写特定语言代码的“码农”,而是一个能够从宏观视角审视整个软件生命周期的工程师。这本书更像是一个思维的催化剂,它没有直接告诉我答案,而是通过一系列精妙的提问,激发了我自己去寻找更深层次、更持久的解决方案。这份潜移默化的影响,才是它最宝贵的财富。

评分

我通常习惯于快速浏览技术书籍的目录,寻找我感兴趣的点,然后针对性地阅读。但对于这本,我发现自己完全无法做到这一点。每一个标题都带着一种难以抗拒的吸引力,它们不是那种“如何使用XXX框架”的直接指令,而是充满了启发性的问句或者断言,让人好奇背后的逻辑支撑是什么。这种设计极大地提升了阅读的连贯性,它构建了一个完整的知识体系,而不是一堆孤立的技巧集合。比如,其中一节关于“命名艺术”的篇幅,虽然不长,但它对变量、函数乃至整个模块命名背后所承载的“信息密度”的论述,简直是艺术品。它让我意识到,我们写下的每一行代码,都在与未来的自己和同事进行对话,而命名,就是对话的语气和清晰度。这种对“可读性”的深度挖掘,远超我预期的广度,让我对编写清晰、自解释的代码有了全新的认识。

评分

这本厚厚的书脊一入手,就给人一种沉甸甸的实在感,仿佛捧着一本武林秘籍。我原本以为这会是一本堆砌理论的枯燥读物,毕竟“97件事”听起来就够唬人的,生怕又是那种把基础概念翻来覆去嚼烂了讲的书。然而,实际翻开后,我立刻被那种直击痛点的叙事方式所吸引。它没有冗长的前言和空洞的口号,而是直接跳进了那些我们每天在代码世界里摸爬滚打时会遇到的那些“啊,原来如此!”的瞬间。比如,关于如何与一个脾气古怪的资深架构师高效沟通的那个章节,简直是我的血泪史的真实写照,作者寥寥数语就点破了其中反复试错的盲点,那份洞察力,绝非纸上谈兵之辈所能企及。我甚至怀疑作者是不是在我工位边上偷偷观察了我好几个月才写下这些。那种对行业生态的深刻理解,渗透在每一个精炼的案例分析里,读起来酣畅淋漓,让人迫不及待地想翻到下一页,看看下一个被揭示的“秘密”是什么。它更像是一份资深前辈递过来的“避坑指南”,而不是教科书,这一点极大地提升了阅读体验的实用价值和趣味性。

评分

这本书带给我的最大震撼,在于它对软件开发这门手艺的“匠人精神”的重塑。在如今这个追求快速迭代、MVP至上的时代,很多基础的、看似“过时”的工程原则正被漠视。而这本书却像一座灯塔,重新点亮了那些被遗忘的经典光芒。我曾经在某个性能瓶颈上卡了三天,最后通过书里一个关于缓存失效策略的讨论,才找到问题的根源——那是一个我们团队内部都认为“没有必要过度优化”的小细节。作者对于细节的执着和对基础理论的尊重,让我重新审视了自己对“专业”的定义。这已经超越了单纯的编程技巧层面,上升到了对工程伦理的探讨。它不是在教你具体实现某个框架的API,而是在教你如何成为一个更负责任、更可靠的构建者。读完后,我立刻回去重构了一些老旧的模块,那种对代码质量的敬畏感,是任何代码规范文档都无法灌输的。

评分

说实话,我对技术书籍的耐心向来有限,很多号称“精华”的著作,读到一半就开始觉得内容注水,无非是把Stack Overflow上热门的问答整理一下,配上一些无关痛痒的“建议”。但这本书的篇幅虽然不短,却奇异地保持着一种紧凑感,仿佛每一个段落都是精心雕琢的宝石,剔除了所有冗余的修饰。我特别欣赏其中对于“技术债务”的描述,它没有用那些高大上的商业术语来包装,而是用一个非常生动的比喻,将技术债务的积累过程描述成一个慢性病,一开始不痛不痒,等到爆发时则足以摧毁整个项目的心脏。这种将抽象概念具象化的能力,是真正高水平作者才具备的叙事技巧。阅读过程中,我经常停下来,不是因为不懂,而是因为需要时间消化那种“我怎么早没意识到”的顿悟感。它强迫你跳出自己日常工作流的惯性思维,去审视那些被视为“理所当然”的开发习惯,带来的反思力度是空前的。

评分

有些建议还是蛮合理的

评分

中上

评分

当小说看的,总结的还是相当不错。

评分

有很多话说到心坎里了,这不就是我们公司的样子吗。在有更多工作经验后重读它,不知道会有什么感受呢

评分

程序员果然是个不善交流的群体,全书无数个"Don't"(不要),很少"If...then..."(如果……那么……)

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2026 book.quotespace.org All Rights Reserved. 小美书屋 版权所有