其实吧,只要一次性定义Bean,刚看了下luban,好像它是以json数据为加载源的,同样没有类型提示吧,如果把json数据作为逻辑处理对象,代码提示难道对json字段也有效?请问一下,luban这点是怎么处理的?
luban也会生成类型的,也可以生成byte
从官网看,说到底,luban的思想把类型限定转嫁到策划,策划需要了解luban的类型定义,就官网首页例举的那些表结构,策划能用好,也是一把能手,我作为程序,一眼看了也头大。
楼主的思想也是将类型限定转嫁给策划,不过缺少依赖关联等数据预处理,而我的方式与luban大体相同,只是需要手写Bean,类型限定在程序。
所以说,我和楼主争论的点,还需要引入luban才能解决!
真是应了那句话,萝卜白菜各有所爱!
为什么表结构是策划定义的,而不是程序和策划一起讨论出来的?你这太封闭了,开发。
其实对策划来说字段类型不是number就是string
也就是说,程序和策划都商量好了,那我手写bean有啥问题?再就是代码提示,我还只是编码阶段,要啥代码提示,我能确定类型并手鲁出bean了,使用bean,难道代码提示就没了?
就luban而言,不是的,不仅仅是number和string, 像java基础数据类型都有,数据表又能定义为bean,其它数据表又可以引用,可以说把数值表的依赖关系都给整到配置里去了,策划用起来还是有难度的。
luban的另一个作用,写好类型以后可以进行githook,只要类型对不上,表都不让上传
其实这个倒不是重点,策划也有需求改字段类型,像我也做后端,所有数值表加载后必须做依赖验证,类型不对,启动服务器就报错,如果是线上动态上传更新数值表,一旦解析报异常就直接回滚。
当然,任何数值表修改必须经过严格的联调测试才能线上发布。
不管导表工具多么牛叉,服务器对数据进行验证是必须的,只能说前端不需要那么严格而已,一般情况,你考虑的问题基本不会出现。
另外可以导出多种语言的类型,无论是go还是ts还是c#,哪怕新语言也可以接入。一次定义,前后端共享,也可以选择服务器表,客户端表还是针对单个字段的前后端可访问性。
所以你也是一般情况,luban给你避免了一般情况,变成了杜绝这种情况。永远不要用人力去考验自动化方案。
人会出错的,验证好的方案不会
你考虑得太片面了,不能说luban避免了一般情况,就不会出现其它情况,甚至说不需要配置表验证了,就比如,任务表依赖奖励表,但任务表配置的这个奖励ID,奖励表中不存在。
再就是你们只是把出错的风险转嫁到策划而已,策划也是人,甚至策划把控程序语言的数据类型更容易错误,说不定策划某天手一抖,删除了某一列
可能你会说策划没用公式处理各表之间的ID关联关系,可策划也是人啊,策划就是出错了,咋办,你还拿策划去祭天不成?
既然你先前也说了,数据类型是策划与技术协商确定的,是否自动化我认为没那么重要,因为我手鲁Bean时,各个字段类型也是确定了的,策划修改字段值,前后端程序完全不用维护修改代码,而改类型,几乎所有情况,都需要前后端同步修改业务逻辑。
https://luban.doc.code-philosophy.com/docs/beginner/usevalidator
看一下吧,你的方案甚至要启动测试了才能知道哪些表有问题。luban呢?甚至ref引用的都是对应的数据类型而不需要你在实际编码的时候去拿着id去另外一个表里找。你的工作流和luban的工作流的安全性和效率差的真的不是一点半点,包括你并不在意的自动化。人家讨论完回去美美写代码去了, 你还在定义表格wrap类,你可以不在乎,别人用的爽就行。 
上面是给你的新的luban的使用案例,你再找个理由反驳一下我。 
楼主的方案确实有不完美的地方,但是你和我说luban是没有道理的。
你回复他的时候我就知道结果了
,这种人太多了

你看我这个没?除了手鲁的这个Bean,其中引用了技能表和自定义多语言表,都是Ref,并不要拿ID去找哦,只是运行期加载表,如果不做验证会置null而已。
我也没说luban不好吧,就说了在程序与策划明确类型的情况下,自动化没那么重要。
再就是,我在和楼主讨论我提出的问题,是你主动引入luban的话题,都有不完美的地方,你为啥拿luban怼我呢?
https://luban.doc.code-philosophy.com/docs/manual/architecture
我建议你看看luban的设计哲学,它提到的所谓的那些痛点问题,你能不能给出相应的解决方案。
之前只是看到你讨论的问题,luban正好都有完美的解决方案。并不是拿luban怼你,现在你反而在用一些低效的工作流来不停的证明你的正确性。
如果我说低效伤害到了你,我很抱歉。
你可以夸赞luban的一切,但我不知道在没有luban的时候,你们是怎么处理的?难道luban出来后你才入行?
在不加入luban的话题这个前提下,我有贬低过任何一方?我只是举例楼主那个插件的某些情形无法处理的痛点,你把luban推出来是几个意思?
