ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

人生代码|第15关:输出即存在 —— 代码在跑,你就还在

人生代码|第15关:输出即存在 —— 代码在跑,你就还在 第三篇 · 输出篇核心命题存在LCN: 0000-1111上下文回顾第11关解决了“有没有输出”——被接收才算交付。第12关解决了“输出什么层级”——一次性答案还是可复用资产。第13关解决了“别人怎么调用你”——接口不通努力白接。第14关解决了“输出能活多久”——脱壳、载体、方法论。四关走完我们终于可以问最后一个问题当你离开之后什么还在运行Issue你离开之后什么还在跑你离开一个地方很久了。你带过的那个新人现在还在用你教他的方法吗你写过的那个文档现在还有人在搜、在查、在更新吗你设过的那个流程你走了之后它还在每天运转吗如果答案是“早就不用了”“不知道谁还记得”“没人提起了”——那你在那个地方已经不存在了。不是你做得不好。是你留下的东西没有替你继续运行。编程视角时间是最严格的 code review# utils/parser.py def parse_config(path): with open(path) as f: return json.load(f) def merge_dicts(a, b): result a.copy() result.update(b) return result你离职了。没人记得这个文件是谁写的。时间开始审查。# 三年后parse_config 被重构 def parse_config(path, encodingutf-8): with open(path, encodingencoding) as f: return json.load(f) # 加了参数核心逻辑没变 # 五年后parse_config 被重写 def parse_config(path): return yaml.safe_load(Path(path).read_text()) # 实现换了但解析配置这件事还在 # 十年后parse_config 被推翻 # 整个模块废弃配置解析交给了新框架 # 从零开始没人记得之前有过这个函数再看merge_dicts# 五年过去了 from utils.parser import merge_dicts config merge_dicts(defaults, overrides)没有被重构没有被重写没有被推翻。它还是五年前的样子还在被 import还在被调用。什么都没改就是最高的评价。被重构说明设计有更好的写法。被重写说明实现有更新的方案。被推翻说明思路从一开始就是错的。只有还在跑说明你做对了。时间是最严格的 code review。它不看注释不看文档不看署名。它只看一件事这东西还能不能用。能用就留着。不能用就推翻重来。人生启示你留下的东西经得起时间吗编程里时间会审查代码被重构、被重写、被推翻都是没通过。人生里时间也会审查你留下的东西。只是它的审查方式不是编译是使用。时间审查的结果编程表现人生表现被推翻代码被删除你留下的方法没人用了被重写换了个实现你留下的东西被替换了但问题还在被重构结构改了逻辑保留你留下的方法被改进了但核心还在用还在跑原封不动你留下的东西别人还在照着做大多数人只看到前两种东西被换了被删了被否定了。于是觉得“我什么都没留下”。但真正被推翻的是没人再用你留下的东西。只要还有人用它、改它、续写它你就没被推翻。你带的人用你教的方法带下一个人——这是“还在跑”。你写的流程别人改了三个版本但骨架还是你的——这是“被重构”不是“被推翻”。你留下的文档别人加了两页但第一页还是你写的——这是“还在跑”。被重构、被改进、被续写都不等于被推翻。被推翻是你走之后这件事从零开始没人记得你做过什么。真实案例CommLayer当年我开发了一个通信层的动态库叫 CommLayer。它负责系统里所有的底层通信——建连、收发、重连、心跳、超时处理。我离职之后这个库被部署到了生产环境一直跑着。三年后一个老同事跟我吃饭随口提了一句“你写的那个 CommLayer 还在用。”我问“有人重构过吗”他想了想“没有。接手的人看了一圈觉得没啥问题就没动。”我笑了笑没说话。没有人重构它没有人重写它没有人推翻它。它就在那里用我当年设计的方式继续处理通信。每一次数据收发都经过它。每一次系统重启它被加载。我不在那里了。但我在那里。我的代码还在跑这说明一件事我做对了。时间审查了三年结论是——这东西值得留。结尾我以前所有的努力都在自己的进程里运行。复盘、反思、迭代全封闭在自己脑子里。做得再多都绑定在我身上。我休息它们就停我离开它们就归零。后来我开始把东西交出去——写成文档、建成模板、教给别人、固化成流程。不是因为我变得更厉害了。是因为我发现只有交出去的东西才会在我离开之后继续替我运行。你问一个人“在不在”看他在不在场是最浅的答案。深一层的答案是他不在场的时候有什么事还在替他运行再深一层的答案是那个还在运行的东西被时间推翻了吗如果它还在跑没有被重构没有被重写没有被推翻——那就是时间给出的最高评价。你不在了。但你的代码还在跑。这说明你做对了。回顾卡一句话记住第15关代码还在跑是时间给出的最高评价——你做对了。三个关键词运行 —— 你离开之后什么还在跑审查 —— 时间会重构、重写、推翻一切经不起考验的东西存在 —— 你的输出还在被调用你就还在下一关预告第四篇 · 闭环篇开启输入、处理、输出都讲完了。但一个系统真正的强大不在于单向的流转而在于闭环——输出的结果变成下一轮输入的起点。你交出去的东西会以什么形式回到你身上《人生代码重构自己》专栏总合集本系列以软件工程 思维看待自我成长二十一关循序渐进每一关重在实践落地。欢迎订阅专栏跟随闯关调试属于自己的人生程序。人生代码重构自己 ——用程序员思维解决人生难题如果这篇文章帮到了你欢迎点个赞/收藏这对我很有帮助
返回列表