V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  rekulas  ›  全部回复第 10 页 / 共 79 页
回复总数  1575
1 ... 6  7  8  9  10  11  12  13  14  15 ... 79  
@BeautifulSoap 为了证明自己是对的 刻意写了个极端情况 真是辛苦你了
可是我发现你逻辑思维可能有些问题,具体表现在:
非要想靠语言自身 hold 所有情况
对别人提出的问题视而不见, 只想强行解释自己的想法
我能理解你在判断 nil 与空值的模糊感受,但仍然不会赞同你的想法,在我看来,语言框架基础方法就应该尽可能简洁低耦合,要实现的功能完全可以通过三方库而且性能还不低

比如 go-playground/validator
如果我要验证必须有值 加 required
如果我要求某项值小于 30 加 lte=30
如果我要求 enum 验证 加 oneof=xiaoming huahua
如果我要求字符串以 V2EX 开头 加 startswith=v2ex



如果各种方便的方法都糅杂在 go 自身,那画面简直不敢想象
先说答案: 我认为解析成 0 没问题, 错就错在你自己定义类型不对

go 本身提供了非常好的解决方案 *指针, 稍微有点基础的都知道灵活运用来判断空(默认)值与 nil 值的区别
比如接收参数的时候,如果预判参数可能超过范围或可能存在空,直接指针介入即可
或者读取数据库的时候,也可以用来判断

通过这种方式来区分 nil 与空值,我认为非常合理,不应该在解析阶段处理,如果在解析阶段处理,我才觉得会引起大麻烦:
我目前接手的一些第三方类库一些结构体参数就几十个,很多值不需要额外处理直接默认留空即可,如果按你的想法,那漏掉一个 kv 对不传输过来都会报错

另外 你如何看待 c 和 rust 对于这个的处理
@BeautifulSoap 拿 php python 这种动态脚本语言来类比 go,很让你怀疑你的基础水平
kotlin 还差不多
但是, 你说的 kotlin 报错并不代表所有语言都要按照你喜好的语言来走, 严格来说,你的需求就是 2 步: 1 解析 2 验证非法值
如果 kotlin 直接在 json 解析阶段做了校验,我认为没有问题, 但是因为它做了就 diss 别的语言就显得太幼稚了, 如果你要这样来的话,麻烦你先把 c 和 rust 先 diss 一遍,按我经验,一般流行的库在解析阶段也不会报错,除非加了数值校验
再举个例子,以后再出一款高级语言,在 json 解析的时候支持自动反序列化,数值严重,enum 验证,time 类型验证...那新语言的开发者是不是又继续来鄙视这些老前辈呢?

如果你非要区分 0 和 null,按楼上说的用指针才是正道,你用了错误的方法去处理问题还一直想不通,感觉有点钻牛角尖了
"因为 json 默认把 null 解析为空值,所以解析 json 的时候并不会报错,商品价格会以 0 元被解析"
作为一个合格的程序员会告诉你,并不会,null 本来就是合格的 json 值格式你为何非要别人报错

当某个问题别人从没遇到过自己经常遇到的时候,好好思考下,会不会是自己的思维方式或使用方式不当
217 天前
回复了 honmaple 创建的主题 NAS 貌似无人提及的 Zerotier 私有 Planet 加入网络
zero 不是很好用
tailscale 底层协议确实 nb 一些
这一点不是早就是共识了么,安卓 ios 都在用,安卓的内存需求确实大, 这跟安卓底层和 IOS 的墓碑等机制有关,如果说要执行一些后台长期运行 app 的话,安卓更合适点
不过说到后台管理,我感觉都比较拉跨,安卓就不说了人人皆知,跟你说的差不多.ios 也好不了多少,有时候不需要维持的 app 几周都没被清理,有时候一直在用的 app 回下桌面就给我清理掉
没用过安卓的墓碑,不知道体验如何
219 天前
回复了 iorilu 创建的主题 程序员 如果感觉状态不好, 大家一般怎么安排
状态不好当然是睡一觉再说
直接访问内外网 IP 都不行吗?如果可以那大概率是解析问题

如果不行那可能要检查下路由分发 跨网段等问题
下划线可读性稍微高一点
我选驼峰,因为下划线稍微多几个词 看起来就很怪且 low 的感觉
至于大小写问题感觉还好,有些词是固定大小写的,就应该按它本身的来书写
比如 getPHPUsers 而不是 getPhpUsers
有用,之前我都自己 p 的..
不过这个太干净了,可以加一些噪音抗移除效果更好,空了我提个 pr
222 天前
回复了 ThinkCat 创建的主题 程序员 开发应用的上架问题咨询
@ThinkCat 自己公司
以前没要求 app 备案 个人还是好上架的 现在不清楚了
223 天前
回复了 ThinkCat 创建的主题 程序员 开发应用的上架问题咨询
@ThinkCat 国内任何涉及 ugc 内容的产品都是重点审查对象,没法避免
我之前做了个很简单的小程序,方便小区邻居分享照片,公司主体,引入了图片安全识别,审核时腾讯那边可认真了,上传各种成人\政|治等擦边球图片测试,只要有一张图片没被识别出来就审核失败,即使上线了也时不时有人工复查
223 天前
回复了 Ethkuil 创建的主题 Windows Edge 怎么这么犯贱啊??
贱的不是 edge,是微软
不知道为什么微软拿到一款好产品之后总是爱这样作妖,活活把好印象搞成恶印象,看看这几年 edge 的口碑崩裂就知道
再比如 win 自己的更新, 如果没有彻底禁止掉更新只按网上的普通教程设置的话,每次积累了更新后电脑总会出各种各样的系统 bug,只要你一更新,系统就好了,你说神不神奇...
225 天前
回复了 vulgur 创建的主题 程序员 独立开发周记 #30:中间人攻击
不太明白攻击这种日记闹钟 app 是想获得什么信息
226 天前
回复了 LuminousKK 创建的主题 云计算 推荐个 WebSSH 的新选择——腾讯云 OrcaTerm
@wjfz 说一个事实,你访问 v2 就已经涉嫌违法了,用不着菠菜
其实即使不使用指针也可以判断, 你这个无法判断是因为缺了主键字段啊,任何情况下都建议保留主键到结构体
问薪资不回...也有种可能觉得你要的太低了🤣
这不是开玩笑, 前两年成都这边招人有 2 年+经验自己报价 10k 以下的我们都直接略过,因为这边前两年平均工资都 9k,工作了 2 年还不敢报高点的,从常理来推断说明投递者对自己没信心进而说明技术水平大概率一般..
229 天前
回复了 luxinfl 创建的主题 程序员 问一个数据迁移的问题
如上面所说 canal 比较适合你的工作,我们之前用 canal 可以实现毫秒级同步到第三方,确认数据没延迟之后直接切换就行了
@lcy630409 这早就不是难题了,相比人眼来说 ai 从动态视频中识别物体的能力更强,因为能做帧追踪,这都好几年前就搞定了
1 ... 6  7  8  9  10  11  12  13  14  15 ... 79  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1453 人在线   最高记录 6543   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 37ms · UTC 17:18 · PVG 01:18 · LAX 10:18 · JFK 13:18
Developed with CodeLauncher
♥ Do have faith in what you're doing.