Hasty Briefsbeta

双语

The bloat of edge-case first libraries

8 months ago
  • #javascript
  • #dependencies
  • #optimization
  • 优先处理边缘情况的库往往会处理不太可能发生的场景,导致依赖树臃肿
  • 为罕见输入过度设计(例如clamp函数中处理类数字字符串)会不必要地使代码复杂化
  • 像'is-number'和'is-arrayish'这样的示例库解决了边缘情况,但经常被误用于常见场景
  • 库应该聚焦常见用例并假设输入类型正确,将验证留给应用层处理
  • 过度细粒度的库(如'shebang-regex')会带来不必要的复杂性和膨胀
  • npmgraph和Dependabot等工具有助于管理和优化依赖树
  • 验证应该发生在数据边界,而不是依赖树深处
  • 社区正在用现代化的高效替代方案替换臃肿的依赖项