《驯服烂代码:在编程操练中悟道》一导读

简介:

image

前 言

程序员好比运动员,要想在竞技场上获胜,需要在训练场里长期刻苦地练习技艺。

程序员好比士兵,要想在短兵相接的白刃战中取胜,需要在练兵场上长期刻苦地练习格斗。
程序员好比调酒师,要想用炫目的技艺为客人花式调酒,需要在业余时间长期练习抛瓶。
运动员与和平年代的士兵有大量的时间用于训练。但绝大多数程序员所在的软件公司,在一个接着一个的项目进度的压力下,无法提供大量的时间来供程序员练习,而很多程序员又不愿意在下班后再碰代码。如此一来,程序员们就成了一直在竞技场上比赛的运动员,一直在敌人面前搏斗的士兵,和一直在客人面前拋瓶的调酒师,他们没有时间练习。
这样不做练习的程序员,只能把在练习过程中所犯的错误都留在了公司的代码库里,成为了烂代码。已有的烂代码延长了给软件添加新功能和修复bug的时间,带来更大的进度压力,这就导致利用工作时间练习的机会更少了,进而在代码库里留下更多的练习时所犯的错误,形成了更多的烂代码。如此往复,万劫不复。
如此说来,程序员应该像调酒师那样,上班时间努力工作,下班时间操练手艺。
编程是一门手艺。手艺是自己的,如果在公司领导的支持下能在上班时练习固然很好,但若条件不具备,那么就在下班时自己练。其实这也不吃亏,艺多不压身。
本书就是为程序员练习编程这门手艺而撰写的。

目 录

第1章 刻舟求剑的文档
第2章 按图索骥地编写代码
第3章 写main()方法测试一下
第4章 调试一下
第5章 用TDD重做编程操练题目
第6章 消除假数据所带来的重复代码
第7章 让下一个测试足够有意思
第8章 嗅出代码“腐臭”和新的测试点
第9章 测试后行 vs 测试先行
第10章 何谓“烂代码”
第11章 记录所闻到的“腐臭”
第12章 用测试描绘用户意图
第13章 分而治之——釜底抽薪
第14章 分而治之——抛砖引玉

相关文章
|
4月前
|
并行计算 算法 数据处理
编程之道:从代码中领悟技术与生活的哲理
【8月更文挑战第28天】在数字世界的迷宫中,每一行代码都像是宇宙中的一个星系,既独立又相互联系。本文将通过一段简单的Python代码示例,探讨如何从编程实践中汲取生活智慧。我们将看到,代码不仅仅是冷冰冰的指令序列,它也能反映出人类思维的深度和广度。正如甘地所言:“你必须成为你希望在世界上看到的改变。”在编程的世界里,我们同样可以创造并见证这种改变。
51 3
|
2月前
|
搜索推荐 Java 开发者
编程之旅:从代码中探索生活的哲理
【9月更文挑战第34天】在编程的世界里,每一行代码都像是生活中的一步脚印。正如甘地所说:“你必须成为你希望在世界上看到的改变。” 通过技术感悟,我们不仅学习如何编写程序,更是在探索生活的意义和方向。本文将带你走进编程的深层次思考,从简单的代码示例出发,逐步深入到生活的哲学思考,探讨如何在技术的海洋中找到自己的航向。
42 5
|
3月前
|
算法
编程之舞:从代码中领悟生活的节奏
【9月更文挑战第20天】在数字的海洋里,每一行代码都是舞者的步伐,每一个算法都蕴含着节奏的韵律。本文将通过编程的视角,探索技术与生活的和谐共舞,揭示如何在日常开发工作中寻找到生活的节拍,以及这种节奏如何引导我们更高效地解决问题。
|
3月前
|
存储 容器
从代码中感悟生活:编程与人生哲学的交融
【9月更文挑战第27天】在键盘敲击的节奏中,隐藏着生活的哲理。代码不仅仅是冷冰冰的命令序列,它反映了我们解决问题的方式,甚至揭示了人生的智慧。本文将通过编程的视角,探讨如何将技术经验转化为对生活的深刻理解,用简单的例子说明复杂概念,让你在轻松阅读中获得启发。
|
4月前
|
监控 程序员 开发者
掌握了这个Python模块技巧,你的代码能力将让同行刮目相看!
【8月更文挑战第22天】Python的模块化设计让代码组织变得简单且高效。本文通过构建日志处理工具的案例,展示了如何通过模块化提升代码的可维护性和扩展性。案例包括日志读取、分析及主程序三个模块,最终实现了特定事件的统计功能。通过模块化编程,不仅使代码结构清晰、易于复用,还方便了后续的维护与功能扩展。跟随本文实践,你将更好地掌握Python模块的应用技巧。
38 0
|
7月前
|
安全 算法 前端开发
作为程序员变强了也变秃了遇到令人膛目结舌的代码技巧
作为程序员变强了也变秃了遇到令人膛目结舌的代码技巧
64 1
|
7月前
|
算法 程序员
10年老程序员告诉大家什么时候该写什么样的代码
10年老程序员告诉大家什么时候该写什么样的代码
54 0
|
程序员
程序人生 - 程序员要学点儿理财知识,而不仅仅是代码技巧
程序人生 - 程序员要学点儿理财知识,而不仅仅是代码技巧
142 0
程序人生 - 程序员要学点儿理财知识,而不仅仅是代码技巧
|
存储 关系型数据库 MySQL
熬了整整30天,java面向对象编程基础实验报告
熬了整整30天,java面向对象编程基础实验报告
熬了整整30天,java面向对象编程基础实验报告