再也没有了当年的激情,去写出优雅和兼容并存的代码

查看 1022|回复 81
bybyte   
能破就行永远在第一
coderxy   
@QlanQ 冗余数据是合理的,你学过三范式,肯定也学过反范式吧? 在很多场景下三范式的写法是个灾难。
sslyxhz   
罗永浩. jpg
ElvY   
老鸟最应该做的是面向文档编程,代码写的和文档一样。
brader
OP
  
@Rache1 兄弟,有些代码,离开业务场景空想是想不明白的,这个代码我四五年前写的了,模糊记得一些,你疑问的点大概和你说下吧:
1 、1000000000000000000 和 0x 是业务需要,它是不会也不可能变化的,所以我写死了专用值,也不存在我需要添加除 0x 前缀外的场景,这个是专用于数字币计算的。
2 、我不知道你所说的 PHP 自带的的十进制和十六进制转化是否指的是 dechex 这个函数,如果是的话,这个函数是用不了的,数字币都是高精度计算,数字位数是 n + 18 位,用自带函数计算是超出上限的。
3 、我直接拼 0x 是因为我很确定我上一步的值是不存在 0x 的,无需重复调用兼容性的方法增加判断,当然,你要说非要调用比较优雅,也不是不行,这个见仁见智,我不反驳,我当年怎么想的,我也记不起来了。
4 、同 1 解释,因为只专注于+0x
5 、此工具函数比较简单,当时为什么没有单独提出来,我已经记不清了。
6 、是的,可能当时忘记了吧。
brader
OP
  
适量的冗余是正常的,有时候是为了查询方便,而且对于没有要求前后数据变更强一致性的数据,也无需花精力去同步。
比如之前我做过一个客服聊天记录表,我就在里面冗余了用户昵称,方便查询,用户改昵称,我也不会同步过来的,已经问过产品,说无所谓
brader
OP
  
@Rache1 奥,对了,第 1 点 bcdiv 的 18 这个疑问忘记告诉你了,这个是因为数字币 eth 中, 单位 wei 转 eth ,存在小数,精度需要保存到小数点后 18 位
brader
OP
  
@ElvY 我现在是代码随意,因为是我自己维护的。文档我倒是挺认真写的,因为我不想坑前端同事
caixiangyu17   
代码优雅不优雅不是程序员说了算。你在屎山里面,咋也写不出来好东西的。
想要好代码,需要团队的规范,大家都高要求,你自己反而就没什么负担。
git commit comment 格式不对,测试不过,coverage 不够,linting 不过,有 Vulnerabilities 等等,都会在各个环节卡住你的代码。要么不能 push ,要么不能 merge PR 。这样每个人写的代码都不得不这么做,质量就上来了。
TedS   
优雅就是个伪命题,在保证质量前提下,让团队合作更轻松,才是好代码。
您需要登录后才可以回帖 登录 | 立即注册

返回顶部