duangsues.is_a? SaltedFish
60 subscribers
609 photos
6 videos
91 files
562 links
🌶🐔🐟 duangsuse 的日常
尤其喜欢发些奇奇怪怪的东西
和转载别人的东西
Download Telegram
Forwarded from dnaugsuz
https://t.iss.one/dsuses/4401
重写了一部分,还没起床就不折腾了…… 搞不清 bisect 和这个程序是做什么的就在乱写,差点把 find_entry() -> int

重写的部分当然比较激进,常量是动态计算的,然后用了 k, e, ek 这些简写法(差点用成 k, for k1in...) posEqEntry 也是不常规的名字(没办法了)

不过我重写的控制流还好,把
i = get_i0()
while True:
x = xs[i]
if p1(x):
if p2(x): return v1(i)
else: i += 1
else: break
return v2(i)

简化成
i = get_i0()
for (i, x) in enumerate(xs):
if not p1(x): break # take_while
if p2(x): return v1(i)
return v2(i)

一言以蔽之就是(好吧不行)
entry = func(_split2)
key = func.fst<<entry
value = func.snd<<entry
next(filterMap(value, p2<<key, take_while(p1<<key, islice(enumerate(xs),i0) ) ))

(其实只需要分析下 i in range(0,len(xs)) 就知道,刚才我差点以为自己重构错了,pos 不是 step=1 递增)

但是没有删全局变量(毕竟我不了解问题,或许可以作参数顺序/提升至class )

依云大佬你的代码质量还是要注意下吧…… 没事可以重写下自己的代码,重视简洁性和定义力、可移植性,慎用控制流,少写换行、重复求值计算,靠这些“反优化”逼自己把可读性提上去,用这种方法没有语言的代码写不好看的😊
Forwarded from dnaugsuz
夸语言不好吗,PEP8 的这种方法或许能很易懂的实现许多小应用,但碰到计算机图形学什么的还管用吗
很多语言也不像 py 用下划线区分可见性的
这个是说局部计算的,PEP8 连 class name 和 not in operator 的都有,太宽泛了
Forwarded from dnaugsuz
就 sKey 而言是我写过分了(显而易见 key 经常是 str),比如 key:int (同名不同型,不希望重赋值)但你要 for in 的话我可能推荐 for sKey in keys: (例子而已)

Py 是动态类型不在意重赋值与量的可变性,但是 Kotlin 和 Rust 里这个问题是不可回避的,而且同名变量重 let 成不同类型属于不良实践(Kt 里则根本不能覆盖变量名),这是一种 变通(workaround)解法,所以说例子没举好

如果我举绘图里 wBox, hBox , padX, padY 这样的例子,相信不会有人说是复辟匈牙利命名法
Forwarded from Meirin H
这么说吧 我是对的 我不打算听你的话 我就是无敌的 你用来支持观点的例子在我看来都是菜鸡
Forwarded from oldherl
wBox 很正常啊,写成 bWidth 才有点像匈牙利命名法
Forwarded from Meirin H
这个代码风格真的很棒!
Forwarded from Meirin H
请不要艾特我了谢谢
Forwarded from dnaugsuz
别提代码风格,看看解决了什么类型的问题吧
Forwarded from dnaugsuz
要命。有什么好处呢?总是赢,不肯选择和接受别人的观点
我要是一直这样,走不到今天
Forwarded from dnaugsuz
一句话不说是最好的,闷声发大财
人们总是选择相信他们相信的东西,排斥不相信的东西,连看都不屑

即便三年前的我也知道要想改变一个东西,你得先融入它,证明自己懂它,才有资格批评它;
现在我看见别人对他们讨厌的东西,选择屏蔽掉,视若未见。
Forwarded from 依云
显而易见 key 经常不是 str。它经常是整数、UUID、函数等
Forwarded from 依云
sKey 显然是用于 s* 或者属于 s* 的 key,比如 secret key
Forwarded from dnaugsuz
是的。现在想想有这种混淆可能
Forwarded from dnaugsuz
其实我不喜欢 w32 那种 pfn_xxx 的命名,我的法子是自己弄出来的,可以理解为民科,只要别讨厌我就好了≥﹏≤
Forwarded from 依云
「而且同名变量重 let 成不同类型属于不良实践」?你是在哪里看到 Rust 有这种说法的?
Forwarded from dnaugsuz
王垠的博客,他虽然不是很精,但应该不错吧
Forwarded from 依云
王垠根本不会 Rust 啊
Forwarded from dnaugsuz
啊,那我被他骗了
Forwarded from 依云
王垠对于 Rust 的批判一看就知道是没学过,把别的编程语言的东西硬往里边代
Forwarded from dnaugsuz
很多人在意的根本不是真理,他们并不希望让自己拥有更好看且可移植、定义式、高性能的编程思想/代码风格,只是简单地不愿让自己一直相信的东西被破坏罢了,就像中国一些只想着怎么讨好上级,不认真对待问题的人一样。

可惜不破不立啊,不探索怎么知道怎么做、合不合适
刚刚与我谈解释器等语言工具里不方便用全名的群友,是否知道我目前就正在用 Python 写一个支持宏展开的项目生成工具呢…… 😒
我举的例子也是一个完整,支持调用局部作用域, Kotlin Multiplatform 的解释器,虽然还没有惰性求值调用这样的功能,控制流都实现了,他怎么不结合评价下呢