Algorithm Lab

ALGORITHMS / EXPERIMENTS / ENGINEERING

从一个好问题,
走到一个好实现

把问题说清楚,把实验做扎实,把实现写简单。
这里收录一些关于算法学习与工程实践的简短笔记。

阅读笔记

几页笔记

FIELD NOTES / 01—03

先定义问题,再寻找答案

动手之前,用几句话写下输入、输出和约束。哪些条件可以改变,哪些必须保持不变?一个看似复杂的问题,往往在边界明确之后才有了可以讨论的形状。

再准备一个足够小的例子,手工走完一遍。让正确答案先变得具体,后面的实现与验证才有共同的参照。

随手记:什么样的结果,才算这个问题被解决了?

让一次实验,可以被再次理解

结果之外,也记下它从哪里来:数据范围、配置、版本,以及这次具体改变了什么。记录的读者,也包括过一段时间再回来看它的自己。

尽量一次只回答一个问题。把观察到的现象和对现象的解释分开写;如果证据还不够,就把不确定之处留下来,作为下一次实验的起点。

随手记:换一个人,能否沿着记录走到同一个结果?

给实现留一点简单

先看看已有代码和工具能做什么,再决定是否增加新的东西。清楚的命名、直接的控制流和恰当的边界,比层层包装更容易帮助后来的人理解意图。

为真实存在的需求写代码,也为真实可能发生的失败留出处理方式。验证关键行为之后,再回头删掉那些没有必要的分支和重复逻辑。

随手记:这一层复杂性,解决的是哪个具体问题?

ABOUT THIS SPACE

一处安静的技术笔记角落。

Algorithm Lab 关注从想法到实现的过程:如何提出问题,如何设计实验,如何把经验整理成可以复用的知识。这里的内容保持简短,留一点空间给阅读、思考和继续探索。