登入帳戶  | 訂單查詢  | 購物車/收銀台(0) | 在線留言板  | 付款方式  | 運費計算  | 聯絡我們  | 幫助中心 |  加入書簽
會員登入   新用戶登記
HOME新書上架暢銷書架好書推介特價區會員書架精選月讀2023年度TOP分類瀏覽雜誌 臺灣用戶
品種:超過100萬種各類書籍/音像和精品,正品正價,放心網購,悭钱省心 服務:香港台灣澳門海外 送貨:速遞郵局服務站

新書上架簡體書 繁體書
暢銷書架簡體書 繁體書
好書推介簡體書 繁體書

11月出版:大陸書 台灣書
十月出版:大陸書 台灣書
九月出版:大陸書 台灣書
八月出版:大陸書 台灣書
七月出版:大陸書 台灣書
六月出版:大陸書 台灣書
五月出版:大陸書 台灣書
四月出版:大陸書 台灣書
三月出版:大陸書 台灣書
二月出版:大陸書 台灣書
一月出版:大陸書 台灣書
12月出版:大陸書 台灣書
11月出版:大陸書 台灣書
十月出版:大陸書 台灣書
九月出版:大陸書 台灣書

『簡體書』程序员修炼之道——从小工到专家(20周年纪念版)(第2版)(英文版)

書城自編碼: 3493255
分類:簡體書→大陸圖書→計算機/網絡程序設計
作者: [美]David,Thomas[大卫·托马斯]Andrew
國際書號(ISBN): 9787121387098
出版社: 电子工业出版社
出版日期: 2020-04-01

頁數/字數: /
書度/開本: 16开 釘裝: 平装

售價:HK$ 142.6

我要買

share:

** 我創建的書架 **
未登入.


新書推薦:
井邑无衣冠 : 地方视野下的唐代精英与社会
《 井邑无衣冠 : 地方视野下的唐代精英与社会 》

售價:HK$ 95.2
星地融合移动通信系统与关键技术从5G NTN到6G的卫星互联网发展
《 星地融合移动通信系统与关键技术从5G NTN到6G的卫星互联网发展 》

售價:HK$ 212.6
妈妈,你好吗?(一封写给妈妈的“控诉”信,日本绘本奖作品)
《 妈妈,你好吗?(一封写给妈妈的“控诉”信,日本绘本奖作品) 》

售價:HK$ 42.6
保守主义:为传统而战
《 保守主义:为传统而战 》

售價:HK$ 154.6
不同境遇的36岁:无尽与有限+人生半熟
《 不同境遇的36岁:无尽与有限+人生半熟 》

售價:HK$ 112.0
小时光 油画棒慢绘零基础教程
《 小时光 油画棒慢绘零基础教程 》

售價:HK$ 88.5
可控性混乱
《 可控性混乱 》

售價:HK$ 66.1
篡魏:司马懿和他的夺权同盟
《 篡魏:司马懿和他的夺权同盟 》

售價:HK$ 65.0

 

建議一齊購買:

+

HK$ 115.2
《设计的力量:PPT设计与制作教程(全彩)》
+

HK$ 142.6
《云原生安全与DevOps保障》
+

HK$ 243.6
《苹果专业培训系列教材 Logic Pro X音频编辑高级教》
+

HK$ 98.6
《PHP学习手册》
+

HK$ 100.1
《iOS 应用安全权威指南》
+

HK$ 100.1
《Lua游戏AI开发指南》
編輯推薦:
适读人群 :无论你是一个新的程序员,一个有经验的程序员,还是一个负责软件项目的经理,都会通过本书获得个人生产力、准确性和工作满意度的提高,从中习得的学习技能、习惯和态度,都将是你在职业生涯中获得长期成功的基础。
屹立 20 年影响力大作,成功案例数以千万计,凌驾于任何语言|框架|方法之上。
面向未来重写全部内容,从程序员责任与职业发展,到灵活|易适配|可重用架构。
53个核心话题|99个高能提示,阐明软件开发走向卓越之路及途中各种典型陷阱。
编程界传奇人物云风操刀翻译,至理|奥义|案例|技巧之原著精微,无不掘至毫巅。
◎与软件腐烂做斗争
◎持续学习
◎避免知识重复的陷阱
◎写出有弹性、动态、适配性强的代码
◎驾驭基本工具的力量
◎避免依赖巧合编程
◎学习真正的需求
◎解决并发代码的底层问题
◎防范安全漏洞
◎建立务实程序员构成的团队
◎对你的工作和事业负责
◎无情而有效地做测试,包括基于特性的测试
◎组建务实的入门套件适读人群 :无论你是一个新的程序员,一个有经验的程序员,还是一个负责软件项目的经理,都会通过本书获得个人生产力、准确性和工作满意度的提高
內容簡介:
《程序员修炼之道》之所以在全球范围内广泛传播,被一代代开发者奉为圭臬,盖因它可以创造出真正的价值:或编写出更好的软件,或探究出编程的本质,而所有收获均不依赖于特定语言、框架和方法。时隔 20 年的新版,经过全面的重新选材、组织和编写,覆盖哲学、方法、工具、设计、解耦、并发、重构、需求、团队等务实话题的*实践及重大陷阱,以及易于改造、复用的架构技术。本书极具洞察力与趣味性,适合从初学者到架构师的各阶层读者潜心研读或增广见闻。
關於作者:
亨特AndyHunt是一位热切的木匠和音乐家,但奇怪的是,人们更需要作为顾问的他。他的工作领域包括电信、银行、金融服务、公共服务,以及一些更奇特的领域,比如医学成像、图形艺术、Internet服务。在于1994年移居美国前,Dave在英国创立了一家通过ISO9001认证的软件公司,为世界各地的客户开发成熟、定制的软件项目。Dave现在是一位独立顾问,居住在德克萨斯州的达拉斯。
亨特AndyHunt是一位热切的木匠和音乐家,但奇怪的是,人们更需要作为顾问的他。他的工作领域包括电信、银行、金融服务、公共服务,以及一些更奇特的领域,比如医学成像、图形艺术、Internet服务。在于1994年移居美国前,Dave在英国创立了一家通过ISO9001认证的软件公司,为世界各地的客户开发成熟、定制的软件项目。Dave现在是一位独立顾问,居住在德克萨斯州的达拉斯。
目錄
Contents
1. A Pragmatic Philosophy 1
Topic 1. It s Your Life . . . . . . . . . . . . . . . . . . . . 2
Topic 2. The Cat Ate My Source Code . . . . . . . . . . . . 3
Topic 3. Software Entropy . . . . . . . . . . . . . . . . . . 6
Topic 4. Stone Soup and Boiled Frogs . . . . . . . . . . . . 8
Topic 5. Good-Enough Software . . . . . . . . . . . . . . 11
Topic 6. Your Knowledge Portfolio . . . . . . . . . . . . . 13
Topic 7. Communicate! . . . . . . . . . . . . . . . . . . 19
2. A Pragmatic Approach 27
Topic 8. The Essence of Good Design . . . . . . . . . . . . 28
Topic 9. DRYThe Evils of Duplication . . . . . . . . . . . 30
Topic 10. Orthogonality . . . . . . . . . . . . . . . . . . . 39
Topic 11. Reversibility . . . . . . . . . . . . . . . . . . . 47
Topic 12. Tracer Bullets . . . . . . . . . . . . . . . . . . . 50
Topic 13. Prototypes and Post-it Notes . . . . . . . . . . . . 56
Topic 14. Domain Languages . . . . . . . . . . . . . . . . 59
Topic 15. Estimating . . . . . . . . . . . . . . . . . . . . 65
3. The Basic Tools 73
Topic 16. The Power of Plain Text . . . . . . . . . . . . . . 74
Topic 17. Shell Games . . . . . . . . . . . . . . . . . . . 78
Topic 18. Power Editing . . . . . . . . . . . . . . . . . . . 81
Topic 19. Version Control . . . . . . . . . . . . . . . . . . 84
Topic 20. Debugging . . . . . . . . . . . . . . . . . . . . 88
Topic 21. Text Manipulation . . . . . . . . . . . . . . . . 97
Topic 22. Engineering Daybooks . . . . . . . . . . . . . . 100
4. Pragmatic Paranoia 103
Topic 23. Design by Contract . . . . . . . . . . . . . . . 104
Topic 24. Dead Programs Tell No Lies . . . . . . . . . . . 112
Topic 25. Assertive Programming . . . . . . . . . . . . . . 115
Topic 26. How to Balance Resources . . . . . . . . . . . . 118
Topic 27. Don t Outrun Your Headlights . . . . . . . . . . 125
5. Bend, or Break 129
Topic 28. Decoupling . . . . . . . . . . . . . . . . . . . 130
Topic 29. Juggling the Real World . . . . . . . . . . . . . 137
Topic 30. Transforming Programming . . . . . . . . . . . 147
Topic 31. Inheritance Tax . . . . . . . . . . . . . . . . . 158
Topic 32. Configuration . . . . . . . . . . . . . . . . . . 166
6. Concurrency 169
Topic 33. Breaking Temporal Coupling . . . . . . . . . . . 170
Topic 34. Shared State Is Incorrect State . . . . . . . . . . 174
Topic 35. Actors and Processes . . . . . . . . . . . . . . 181
Topic 36. Blackboards . . . . . . . . . . . . . . . . . . . 187
7. While You Are Coding 191
Topic 37. Listen to Your Lizard Brain . . . . . . . . . . . . 192
Topic 38. Programming by Coincidence . . . . . . . . . . . 197
Topic 39. Algorithm Speed . . . . . . . . . . . . . . . . . 203
Topic 40. Refactoring . . . . . . . . . . . . . . . . . . . 209
Topic 41. Test to Code . . . . . . . . . . . . . . . . . . . 214
Topic 42. Property-Based Testing . . . . . . . . . . . . . 224
Topic 43. Stay Safe Out There . . . . . . . . . . . . . . . 231
Topic 44. Naming Things . . . . . . . . . . . . . . . . . 238
8. Before the Project 243
Topic 45. The Requirements Pit . . . . . . . . . . . . . . 244
Topic 46. Solving Impossible Puzzles . . . . . . . . . . . . 252
Topic 47. Working Together . . . . . . . . . . . . . . . . 256
Topic 48. The Essence of Agility . . . . . . . . . . . . . . 259
9. Pragmatic Projects 263
Topic 49. Pragmatic Teams . . . . . . . . . . . . . . . . 264
Topic 50. Coconuts Donn t Cut It . . . . . . . . . . . . . . 270
Topic 51. Pragmatic Starter Kit . . . . . . . . . . . . . . 273
Topic 52. Delight Your Users . . . . . . . . . . . . . . . . 280
Topic 53. Pride and Prejudice . . . . . . . . . . . . . . . 282
Postface 285
Bibliography 289
Possible Answers to the Exercises 293
Index 307
內容試閱

我还记得 Dave 和 Andy 第一次在推特上谈论这本书的新版的那一刻这可是一条大新闻。在编程社区,所见之处都是对这条大新闻兴奋的回应,人们的期待塞满了我的信息流。二十年过去了,《程序员修炼之道》这本书的地位不逊于当年。
承载这样一段历史的一本书,能引起这样的反响,本身就说明了很多问题。为了写这篇序,我有幸在尚未出版前阅读了本书,读后我就明白了它为什么会引起这么大的轰动。本来,一本书被冠以技术图书之名,给人的印象应该是不太好的。因为技术图书常常令人生畏充斥着深奥的词汇、晦涩的术语和令人费解的例子,不经意间就会让你觉得自己很愚蠢。而且,作者越有经验,就越容易忘记初学者在学习新概念时的感觉。
Dave 和 Andy 的作品,却能透出那种只有刚刚学到这些课程的人才会有的兴奋感,尽管他们已有几十年的编程经验,却完美地写出了这种感觉。他们不会居高临下地指指点点,不会假定你是个专家,甚至不认为你已读过本书第一版,仅仅把你当成想要变得更好的程序员而已。他们不惜用整本书的篇幅来帮助你达到目标,一步一个脚印。
公平地说,在这方面,他们在过往已经成绩斐然。最初的本书第一版,包含了许多具体的例子、新想法和实用的技巧,可以帮助你修炼编程所需的肌肉和大脑,这些东西到今天仍然适用。但是,在这次的本书新版中,又有了两项改进。
第一项显而易见:删除了一些较老的引用内容和过时的例子,增补了大量新鲜、现代的内容。循环不变式或构建机这样的例子已经看不到了。Dave 和 Andy 保留了第一版书中的重要内容,以确保相应的课程依然有效,而且读者也不必受旧示例的干扰。对于像 DRY(不要重复自己)这样的旧思想,上面的灰尘已被掸去,并且涂上了一层新油漆这样做真的让其熠熠生辉。
而第二项,才是这次新版图书发布真正令人兴奋的地方。在写完本书第一版后,他们有机会思考自己想要说什么,想让读者获得什么,以及读者是如何接受这些信息的。他们得到了这些课程的反馈,也看到了读者在哪里被卡住、有什么需要改进,以及哪些内容被误解。在这本书通过全世界程序员的双手和心灵传播的二十年间,Dave 和 Andy 研究了这些回应,并且形成了新的想法和理念。
他们认识到自主权的重要性,并且意识到,相比大多数其他专业人员,开发者或许更能为自己做主。他们以简单而深刻的启示开始这本书:人生是你的。这唤起了我们自己的力量,它就蕴含在我们的代码库、工作和职业生涯中。这也为本书的其他内容定下了基调它不仅仅是又一本充满代码示例的技术图书。
这本书必定会在摆满各种技术图书的书架上脱颖而出,因为它理解身为一名程序员到底意味着什么。编程关涉诸事尽量减少未来的痛苦,让队友更轻松,做错事情后能够重新振作起来,养成良好的习惯,以及理解工具集。编程只是程序员世界的一部分,而这本书探索了整个世界。
我在思考编码之旅上花了很多时间。我不是从小编程长大的,大学里也没学过编程课。可以说,我的青少年时光并没有花在摆弄科技上,直到二十来岁的时候才进入了编程的世界,因而亟须想明白一件事情:成为一名程序员意味着什么。编程社区与我曾经身处的其他社区非常不同。其独特之处在于,人们无不醉心于学习和实践,这既令人生畏,又让人耳目一新。
这对我来说,真像进入了一个全新的世界。就算去到一个新城镇,也有必要了解邻居、挑选杂货店、找到最好的咖啡店。我花了一段时间来了解地形,找到了最有效的路线,避开了交通最繁忙的街道,并且知道了什么时候交通可能会出问题。等到天气变化,我又要去置办应季的新衣。
来到一个新城镇的头几周,甚至是头几个月,可能会很害怕。如果有一个已经在这里住了一段时间的邻居可以帮助你,而且他知识渊博又友好,那不是再好不过的事情吗?谁能带你四处参观?谁能领你去那些咖啡店?当然是一个在当地待了足够长时间的,了解当地文化、当地脉搏的人。这样你不仅有家的感觉,还能成为一个同样有贡献的成员。Dave 和 Andy 就是这样的邻居。
一个准新人,更容易对成为程序员的过程,而不是对编程的行为不知所措。因此,必须对整个心态做一次切换改变习惯、行为和期望。仅仅知道如何编程,并不会让你成为一名更好的程序员,在这个过程中必须经历有意识和深思熟虑的实践。好在现在有了这本书,可以有效地指导你成为更好的程序员。
但不要搞错了这本书不会告诉你编程应该是怎样的,它并没有使用那种哲学或审判的方式,它只是简单、明了地告诉你,什么是务实的程序员他们如何操作、如何处理代码。作者让你自己决定是否想成为其中的一员。如果你觉得不适合,也没有人会怪罪你。但如果你决定成为其中的一员,作者就是你的友好邻居,会陪伴左右、为你指路。
Saron Yitbarek
CodeNewbie 创始人及 CEO
Command Line Heroes 主办者
新版前言
在20世纪90年代,我们在与一些项目存在问题的公司合作时,发现总是在对每个人说同样的话:也许你应该在发布之前先测试一下。为什么代码只能在 Mary 的机器上构建?为什么没有人问一下用户呢?
为了节省与新客户打交道的时间,我们开始做笔记。这些笔记最终变成了《程序员修炼之道》这本书。令人惊讶的是,这本书似乎引起了大家的共鸣,在过去的二十年间,这本书一直很受欢迎。
但是二十年对于软件领域来说已经过了好几代。如果一个开发者从 1999 年直接穿越到今天的团队中,面对这个陌生的新世界一定会备感挣扎。但20世纪90年代的世界对今天的开发者来说同样陌生。书中所引用的 CORBA、CASE 工具,以及索引、循环这些东西,放在今天,充其量不过略显古雅有趣,而更多的会给人带来困扰。
与此同时,二十年对常识没有丝毫影响。技术可能改变了,但人没有。实践和方法中的闪光点,在今天看来光芒依旧。在这些方面,本书保鲜如初。
所以,当我们要出版这本二十周年纪念版的时候,必须做出抉择是回顾和更新前一版中引用的技术后就大功告成,还是充分借鉴这平添的二十年丰富经验,重新审视前一版所推崇的实践背后的种种假设。
最终,我们两者都做了。
因此,这本书有点像忒修斯之船[ 如果经过了很多年,一艘船的每一个部件都因为故障而被更换掉,那么最终的船还是原来的船吗?]。书中大约三分之一的主题是全新的,而其余的大部分都被部分或全部重写了。我们的目的是,让内容变得更清晰、更贴切,并在某种程度上不受时间的影响。
我们做了一些艰难的决定。删除了参考资料附录,这样做既因为它无法持续更新,也因为当你有此需要时很容易就能搜索获得。我们重新组织了与并发有关的主题,这是因为考虑到当前有着大量的并行硬件,却缺乏处理并行的好方法。我们还添加了一些内容来反映不断变化的认知和环境,从我们帮助发起的敏捷运动,到对函数式编程语境的日益接受,再到对隐私和安全性方面日益增长的需求。
然而有趣的是,我们之间关于版本内容的争论比写第一个版本时要少得多。重要的东西更容易辨别,这已是我们的共识。
无论如何,这本书最后就是这个样子了,请享用吧。你也许可以从中吸取一些新的做法,也许会觉得我们建议的某些东西是错的,不妨把它们都带到你的工作中去,然后给我们反馈。
但是,最重要的是,记住过程要开心。
这本书是如何组织的
这本书是许多短小主题的合集。每一个主题都针对特定的话题而独立成章。你会发现大量的交叉引用,这有助于把各个主题连贯起来。你可以以任意次序随意阅读这些主题这不是一本需要从头到尾阅读的书。
偶尔你会看到一个写有Tip nn的框起来的标签块(比如位于第XII页的Tip 1, Care
About Your Craft)。这些提示不仅是文中的重点,在我们眼里也是一条条生命我们每天都赖以为生。
我们已尽可能适时地在书中加入了练习和挑战。练习通常有相对简单的答案,而挑战则更加开放。为了让你理解我们的思维方式,在附录里我们列出了这些练习的答案,但是拥有唯一正确答案的问题并不多。挑战或许能用于高级编程课程中的小组讨论,或许能作为论文写作的基础。
本书还有一个简短的参考文献,列出了我们明确引用的图书和文章。
名字有什么含义
When I use a word, Humpty Dumpty said, in rather a scornful
tone, it means just what I choose it to meanneither more nor
less.
? Lewis Carroll, Through the Looking-Glass
在整本书中,你会发现各种各样的行话要么原本是完好的英语单词,却被曲解为技术词,要么是一些可怕的合成词,由那些对语言充满怨恨的计算机科学家赋予其意义。当我们第一次使用这些行话时,会尝试定义它们,或者至少对其含义给出解释。当然,肯定还有漏网之鱼,而且像对象和关系型数据库这种已被广泛使用的词语,再下一次定义就有点画蛇添足了。如果你遇到一个以前没见过的术语,请不要跳过它,不妨花点时间去查一下,可以在网上查,也可以在计算机科学的课本上查。如果有机会还可以给我们发邮件投诉,这样我们就可以在本书下一版中增加一个定义。
既然话已至此,我们决定报复一下计算机科学家。有时候,明明有一些非常好的术语,对某个概念表达得很好,但我们却决定不使用这些术语。为什么?因为现有的术语通常局限于特定的问题领域,或者特定的开发阶段。而本书的基本哲学之一就是,我们推荐的大多数技术都是通用的:例如模块化,它就能同时适用于代码、设计、文档和团队组织。当某个传统术语被拿来在更广泛的场景下使用时,却会造成困惑我们似乎无法摆脱该术语从最初就开始背负的历史包袱。当这种情况发生时,我们只好发明自己的术语,助纣为虐地让语言继续堕落。
源码与其他资源
本书中的大部分代码都是从可编译的源文件中提取出来的,这些源文件可以从我们的网站上下载。[ https:pragprog.comtitl

 

 

書城介紹  | 合作申請 | 索要書目  | 新手入門 | 聯絡方式  | 幫助中心 | 找書說明  | 送貨方式 | 付款方式 香港用户  | 台灣用户 | 海外用户
megBook.com.hk
Copyright © 2013 - 2024 (香港)大書城有限公司  All Rights Reserved.