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. 结果是难以预期的,需要反复调试。
数据结构化编程,可以解放思维,无需关心数据的具体生成过程,只关心预期结果。
到底有没有银弹?