一个工具如果处于依赖链的终端,那么其接口设计与非终端工具应该采取不同的原则. 终端 同一功能可以有多种入口 e.g. Editor keybindings Excel:同一功能通常至少有两种入口 shell language 非终端工具 git (自动化脚本) 同一功能仅有一种最佳实现 e.g. git (自动化脚本) lib.rs 编程语言