@Rache1 兄弟,有些代码,离开业务场景空想是想不明白的,这个代码我四五年前写的了,模糊记得一些,你疑问的点大概和你说下吧: 1 、1000000000000000000 和 0x 是业务需要,它是不会也不可能变化的,所以我写死了专用值,也不存在我需要添加除 0x 前缀外的场景,这个是专用于数字币计算的。 2 、我不知道你所说的 PHP 自带的的十进制和十六进制转化是否指的是 dechex 这个函数,如果是的话,这个函数是用不了的,数字币都是高精度计算,数字位数是 n + 18 位,用自带函数计算是超出上限的。 3 、我直接拼 0x 是因为我很确定我上一步的值是不存在 0x 的,无需重复调用兼容性的方法增加判断,当然,你要说非要调用比较优雅,也不是不行,这个见仁见智,我不反驳,我当年怎么想的,我也记不起来了。 4 、同 1 解释,因为只专注于+0x 5 、此工具函数比较简单,当时为什么没有单独提出来,我已经记不清了。 6 、是的,可能当时忘记了吧。
适量的冗余是正常的,有时候是为了查询方便,而且对于没有要求前后数据变更强一致性的数据,也无需花精力去同步。 比如之前我做过一个客服聊天记录表,我就在里面冗余了用户昵称,方便查询,用户改昵称,我也不会同步过来的,已经问过产品,说无所谓
代码优雅不优雅不是程序员说了算。你在屎山里面,咋也写不出来好东西的。 想要好代码,需要团队的规范,大家都高要求,你自己反而就没什么负担。 git commit comment 格式不对,测试不过,coverage 不够,linting 不过,有 Vulnerabilities 等等,都会在各个环节卡住你的代码。要么不能 push ,要么不能 merge PR 。这样每个人写的代码都不得不这么做,质量就上来了。