Web 技术研究所

我一直坚信着,Web 将会成为未来应用程序的主流

灵活未必是优点,规矩也许更实用

  当一种编程语言灵活到可以提供自定义的语法时它就变成了一坨奇怪的东西。灵活的极端就是自定义语法,就是宏。在这种程度下开发者可以自己定制出适合自己的编程语言。编程语言越是灵活,越是可定制,学习成本就越高,阅读难度也就越高。所以灵活未必是优点!
  如果只是写自己玩的程序,我很愿意自己定制编程语言,定制糖语法(以前就这么干过)。但这么干只能自己爽,很难造出一套让整个团队都觉得爽的东西。而且即使造出这么一套东西,那它也是一套新的东西。没有标准,没有规范,新进入团队的人还需要花时间去学习和适应。这样过度定制化的东西只会徒增图团队的学习成本,我觉得是得不偿失的。
  在 CoffeeScript 和 ES6 面前我毫不犹豫地选择了 ES6。虽然 ES6 里面有很多我不喜欢的东西,而且 CoffeeScript 要灵活得多。但是 ES6 基本可以兼容 ES5,即使团队的新人完全不会 ES6 也可以先写 ES5。而且 ES6 还是规范的,它将来会普及,届时就可以完全消除额外的学习成本。
  除了编程语言外,一些团队内部使用的库或框架也存在过于定制化导致学习成本过高的问题。我并不反对团队自己搞一套库或框架,只是即使搞这么个东西也应该尽可能地贴近规范。或者即使相关领域还没有规范也可以参考已经流行的相关 API 设计。我们造出的轮子不应该让别人在使用时死命翻文档,而是应该做出让别人可以猜到 API 的东西。这才是一套好的设计!
  当然,以上这些只是比较保守的观点。如果真想造出什么惊世骇俗的轮子可以无视以上这些,前提是有失败的觉悟。当一个人们完全没见过的东西诞生时很多时候都是难以被人们接受的,只有极少数的情况才会成功。如果只是想造个能用的东西,那就应该好好遵守业界普遍的 API 设计风格了。
网名:
3.84.186.*
电子邮箱:
仅用于接收通知
提交 悄悄的告诉你,Ctrl+Enter 可以提交哦
神奇海螺
[查看全部主题]
各类Web技术问题讨论区
发起新主题
本模块采用即时聊天邮件通知的模式
让钛合金F5成为历史吧!
次碳酸钴的技术博客,文章原创,转载请保留原文链接 ^_^