Lobsters | 📄 原文链接 | 2026-11-02 收录

别让公开函数互相调用:一条小而实用的经验法则

来源:matklad.github.io — 2026-10-29

📋 概述

matklad 提出一条小规模规则:公开函数不应直接调用另一个公开函数。DRY 的直觉会让人在 foo 里复用 bar,但公开 API 的目标是让调用点好用,一旦内部也复用这个接口,为了同时服务内外两种用法,函数会不断长出用户根本不该设置的可选参数,接口随时间劣化——而且劣化发生在代码共享之后,回头改的成本更高。做法是把共享实现抽成私有 helper,让两个公开函数各自调用它。唯一例外是「捷径 API」:公开函数本就该是若干公开调用的组合,此时反而禁止私有调用。

🔑 核心要点

💡 金句

你应该因为规则背后的理由去应用它,而不是因为它被写在了不可更改的圣典里。
← 返回 Lobsters 首页