本页的小实验:生命游戏
四条规则,一张方格纸。点格子画细胞,然后按“运行”看它们自己长。
第 0 代,0 个细胞
这四条规则是什么
- 活细胞周围少于两个邻居,会孤单地死去。
- 活细胞周围有两个或三个邻居,继续活着。
- 活细胞周围多于三个邻居,会因拥挤而死。
- 空格周围恰好三个邻居,会诞生一个新细胞。
最近的几页
-
先给测试起名字,再写测试
以前总是先写断言,最后随便起个名。试了一周反过来:先用一句话写下“它应该怎样”,写不出来说明我还没想清楚要做什么。
-
用二分法找到那个坏提交
一个功能不知道从哪天开始坏的。与其一个个翻记录,不如让 git 帮我二分:标记好坏两端,每次只回答“这一版好不好”,七步就找到了。
git bisect start git bisect bad git bisect good v0.3 # 测一下,然后告诉它 good 或 bad -
递归其实是一叠便利贴
把每次函数调用想成往桌上压一张便利贴,返回就是揭掉最上面那张。这样想之后,栈溢出也就好理解了:桌子只有那么高。
-
正则表达式要写给明天的自己看
能用命名分组就用命名分组,能拆成两步就别挤成一行。一周后回来读,我感谢了当时多敲的那几个字。
贴在显示器边上的便条
- 先让它跑起来,再让它跑对,最后才是跑得快。
- 报错信息从最上面那行开始读。
- 删掉的代码不会出错。