分享一种 结构、安全、自动化 的类型描述系统

2021-03-04 11:38:56 +08:00
 muchan92

TypeScript 版:https://github.com/rainforesters/rainforest-js

这是从两方面都非常实用酷炫的类型描述系统。

一是能够定义出具有明确语义的新类型,并且具备校验和模拟能力,安全性和复用性提高到可能是迄今为止最高的状态,实用酷炫。
马上就能用于手上的项目中,安全性和复用性立竿见影,Write once.(轻喷,请了解后再发言)

const Phone = typedef({
  '@type':   string,    // 修饰原 string 类型,所以 Phone 依然是 string
  '@verify': () => {},  // 数据校验
  '@value':  () => '',  // 默认值
  '@mock':   () => '',  // 模拟值
})

const User = typedef({
  id:    Id,
  phone: Phone,
  email: Email,
})

二是用于数据结构化编程,维度性降低复杂度,让整个程序工程简单清晰。
什么是数据结构化编程?当输入数据准备好时,自动执行预期规则,获得预期输出结果的编程方式。(这是一种编程方式、思维,并不限定编程语言)
这与过程式编程的最大不同是,过程式是推动数据经过复杂的逻辑一步步流动,最终获得输出结果。两个主要弊端是,1. 整个过程复杂,数据流向混乱; 2. 结果是难以预期的,需要反复调试。
数据结构化编程,可以解放思维,无需关心数据的具体生成过程,只关心预期结果。
到底有没有银弹?

相关链接:
https://v2ex.com/t/752773
https://v2ex.com/t/751452

1295 次点击
所在节点    分享创造
0 条回复

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/758346

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX