沉浮在使用封装的「舒适性」与对底层理解的「通透感」之间. (又是欲望与能力的纠缠)

有感于近日体验, 也不免受到一些相关讨论的影响 (但更多是个人呓语).

  1. 封装的必要性: 功能上的复用, 逻辑上的完整, 学习上的层次.
  2. 封装的问题: 对于底层的遮盖 (较好的例子可能是 keras); 解封装的困难.
  3. (个人) 被封装的问题: 对于底层的忽略; 习惯了「黑盒」之后对于「被封装」的忽略乃至麻木.
  4. 解封装的难度: 生啃基本原理/底层代码的困难; 时间和精力上的不允许 (成本收益).
  5. 封装的普遍性: 不独代码上的, 电子元器件的封装, 工业化标准件的归一化, 乃至社会服务的封装.
  6. 封装的不可靠性: 功能层面, 隐私层面; 对于接口的误解, 乃至设计上本身的忽略...
  7. 封装之美与美的丧失: 封装本身的「优雅」, 好的封装的秩序感; 但一定也会有个性化的丧失, 对人性的忽略.
  8. 封装的层级: 高度层级化在兼容不同层级功能的和理性, 以及在认知上的一定合理性; 扁平化对于学习和使用上的简化, 但也可能带来 API功能上的丧失.
  9. 解封装的诱惑: 剥洋葱的层级式快感, 智识上的愉悦; 但要注意「解封装」本身的程式化的枯燥, 没有全局视角带来的局限性...
  10. 对封装物的反思: 封装的必要性? 合理性? 如何进行基于基本功能的简化?
  11. 如何应对: 对于被封装物的「俯瞰」 (当然有赖于文档与信息的透明度); 快速的决断与选择.

相关链接