sticki 最近的时间轴更新
sticki

sticki

公众号【程序员阿杆】
V2EX 第 642020 号会员,加入于 2023-08-06 16:07:39 +08:00
sticki 最近回复了
@chent114514 嘿,兄弟,注意我提的第三个示例,复杂逻辑校验,可以调用静态方法。你写一个 ipv6 的校验规则,然后在表达式里调用它就好了。
我一直用的 Copilot (白嫖的),不得不说,确实好用,开发效率提升了不少。

我比较好奇的是,idea 内有没有插件,可以像 vscode 里面的 Copilot 那样,辅助生成 git commit 消息的。idea 内的 Copilot 不支持自动生成消息。
@yihy8023 @zmal 对的,简单的规则还行,复杂的规则建议写成静态方法然后在表达式里调用,涉及业务数据的校验还是写在 service 层会更好。

另外,静态编译的检查确实是一个问题,启动时扫描并编译感觉有点困难,参考 mybatis ,或许可以通过插件的形式来解决。
@xwayway 这个问题我在 #9 回复过,实际上 idea 可以识别 SpEL 表达式,识别后字符串会有引用的效果,但目前我的组件对这个识别功能还不完全兼容
@watzds 对,这是一个问题,我给字段使用了 @Language("SpEL"),但 idea 只能识别部分,这很奇怪。未来或许会通过插件的形式辅助开发者使用这套组件,从而解决这个问题。
@firecooloo1024 我也这样写过,没什么毛病,就是代码略多一点。这套组件的规则并不复杂,其实和 javax validation 那些注解差不了多少,唯一需要学习的是 SpEL 的语法,但其实也很简单。
@fkdog 当然可以自己写代码实现,如果愿意的话,javax validation 也可以不用。4G 普及之前,大家也觉得没必要,我认为这是一样的道理。

至于反射降低的性能,对于一个接口请求来说,只是九牛一毛罢了,框架带来的便利性,往往都会牺牲一定的性能,那几毫秒的延迟,在绝大多数场景下,都是不重要的。举个不恰当的例子,Spring 内也包含了大量的反射,但没人在乎。

再说说个性化,这套组件就是为了解决个性化的参数校验而生的,它几乎可以满足任何个性化的参数校验。
@HojiOShi
1. 目前没有找到功能和我这个一样的库,它的优势就是我上面写到的 “解决了什么问题” 部分
2. 目前确实没有写测试用例,只有少数的使用示例在一个单独的项目中,这块确实需要补充,感谢提醒
我才添加完附言,就没人回复了,沉底了🤡🤡
@walle1530 ConstraintValidator 可以解决一部分问题,但不够通用,比如我上面举例的第 2 点,enable 的那个,用 ConstraintValidator 是无法解决的
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5177 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 19ms · UTC 09:41 · PVG 17:41 · LAX 01:41 · JFK 04:41
Developed with CodeLauncher
♥ Do have faith in what you're doing.