logo
分类于: 云计算&大数据 互联网

简介

程序员修炼之道――从小工到专家(20周年纪念版)(第2版)(英文版)

程序员修炼之道――从小工到专家(20周年纪念版)(第2版)(英文版) 0.0分

资源最后更新于 2020-07-25 14:10:05

作者:【美】David Thomas

出版社:电子工业出版社

出版日期:2020-01

ISBN:9787121387098

文件格式: pdf

标签: 软件工程 计算机 编程 成长

简介· · · · · ·

《程序员修炼之道》之所以在全球范围内广泛传播,被一代代开发者奉为圭臬,盖因它可以创造出真正的价值:或编写出更好的软件,或探究出编程的本质,而所有收获均不依赖于特定语言、框架和方法。时隔 20 年的新版,经过全面的重新选材、组织和编写,覆盖哲学、方法、工具、设计、解耦、并发、重构、需求、团队等务实话题的最佳实践及重大陷阱,以及易于改造、复用的架构技术。本书极具洞察力与趣味性,适合从初学者到架构师的各阶层读者潜心研读或增广见闻。

想要: 点击会收藏到你的 我的收藏,可以在这里查看

已收: 表示已经收藏

Tips: 注册一个用户 可以通过用户中心得到电子书更新的通知哦

目录

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. DRY—The 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