有关单元测试的 5 个建议
虽然好像人人都认为单元测试很有用,但在实际工作中,有完善单元测试的项目仍然是个稀罕物。大家拒绝写单元测试的理由总是千奇百怪:“项目工期太紧,没时间写测试了,先这么用吧!”“这模块太复杂了,根本没法写测试啊!”“我提交的这个模块太简单了,看上去就不可能有 bug,写单元测试干嘛?” … … View more
Python 工匠:在边界处思考
前言 这是 “Python 工匠”系列的第 15 篇文章。[查看系列所有文章] 2016 年,Linux 操作系统的创造者 Linus Torvalds 参加了一场 TED 访谈节目。整个节目的前半部分,主要是他在讲如何在家光着膀子写出 Linux 的故事,没有涉及太 … … View more
游戏《蔚蓝山》教我的编程道理
如果有这么一款游戏,你操作的角色平均每 20 秒就会死亡一次,正常通关一次,总共需要死掉超过 2000 次。你猜这是一款神作还是垃圾? 《Celeste》(译名:“蔚蓝山”)就是这么一款游戏。在游戏里,你扮演一个名为 Madeline 的女孩,通过跳跃、抓墙、冲刺等动作,去努力 … … View more
Python 工匠:写好面向对象代码的原则(下)
前言 这是 “Python 工匠”系列的第 14 篇文章。[查看系列所有文章] 在这篇文章中,我将继续介绍 SOLID 原则剩下的两位成员:I(接口隔离原则) 和 D(依赖倒置原则)。为了方便,这篇文章将会使用先 D 后 I 的顺序。 D:依赖倒置原则 软件是由一个个 … … View more
Python 工匠:写好面向对象代码的原则(中)
前言 这是 “Python 工匠”系列的第 13 篇文章。[查看系列所有文章] 在 上一篇文章 里,我用一个虚拟小项目作为例子,讲解了“SOLID”设计原则中的前两位成员:S(单一职责原则)与 O(开放-关闭原则)。 在这篇文章中,我将继续介绍 SOLID 原则的第三 … … View more
Python 工匠:写好面向对象代码的原则(上)
前言 这是 “Python 工匠”系列的第 12 篇文章。[查看系列所有文章] Python 是一门支持多种编程风格的语言,面对相同的需求,拥有不同背景的程序员可能会写出风格迥异的 Python 代码。比如一位习惯编写 C 语言的程序员,通常会定义一大堆函数来搞定所有 … … View more
Python 工匠:高效操作文件的三个建议
前言 这是 “Python 工匠”系列的第 11 篇文章。[查看系列所有文章] 在这个世界上,人们每天都在用 Python 完成着不同的工作。而文件操作,则是大家最常需要解决的任务之一。使用 Python,你可以轻松为他人生成精美的报表,也可以用短短几行代码快速解析、 … … View more
Python 工匠:做一个精通规则的玩家
前言 这是 “Python 工匠”系列的第 10 篇文章。[查看系列所有文章] 编程,其实和玩电子游戏有一些相似之处。你在玩不同游戏前,需要先学习每个游戏的不同规则,只有熟悉和灵活运用游戏规则,才更有可能在游戏中获胜。 而编程也是一样,不同编程语言同样有着不一样的“规 … … View more