Forwarded from dnaugsuz
https://t.iss.one/dsuses/4401
重写了一部分,还没起床就不折腾了…… 搞不清 bisect 和这个程序是做什么的就在乱写,差点把
重写的部分当然比较激进,常量是动态计算的,然后用了 k, e, ek 这些简写法(差点用成 k, for k1in...) posEqEntry 也是不常规的名字(没办法了)
不过我重写的控制流还好,把
简化成
一言以蔽之就是(好吧不行)
(其实只需要分析下
但是没有删全局变量(毕竟我不了解问题,或许可以作参数顺序/提升至class )
依云大佬你的代码质量还是要注意下吧…… 没事可以重写下自己的代码,重视简洁性和定义力、可移植性,慎用控制流,少写换行、重复求值计算,靠这些“反优化”逼自己把可读性提上去,用这种方法没有语言的代码写不好看的😊
重写了一部分,还没起床就不折腾了…… 搞不清 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 )
依云大佬你的代码质量还是要注意下吧…… 没事可以重写下自己的代码,重视简洁性和定义力、可移植性,慎用控制流,少写换行、重复求值计算,靠这些“反优化”逼自己把可读性提上去,用这种方法没有语言的代码写不好看的😊
Telegram
duangsues.is_a? SaltedFish
#Python #rewrite
from bisect import bisect_left
from sys import argv
def _split2(s): return s.split(' ', 1)
(_sDel, _sData) = ["[%s]\n" %s for s in "Deleted", "Data"]
def readOrigFile(f):
for ln in f: # drop_while
if ln == _sData: break
return [Entry(ln)…
from bisect import bisect_left
from sys import argv
def _split2(s): return s.split(' ', 1)
(_sDel, _sData) = ["[%s]\n" %s for s in "Deleted", "Data"]
def readOrigFile(f):
for ln in f: # drop_while
if ln == _sData: break
return [Entry(ln)…
Forwarded from dnaugsuz
夸语言不好吗,PEP8 的这种方法或许能很易懂的实现许多小应用,但碰到计算机图形学什么的还管用吗
很多语言也不像 py 用下划线区分可见性的
这个是说局部计算的,PEP8 连 class name 和 not in operator 的都有,太宽泛了
很多语言也不像 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 这样的例子,相信不会有人说是复辟匈牙利命名法
Py 是动态类型不在意重赋值与量的可变性,但是 Kotlin 和 Rust 里这个问题是不可回避的,而且同名变量重 let 成不同类型属于不良实践(Kt 里则根本不能覆盖变量名),这是一种 变通(workaround)解法,所以说例子没举好
如果我举绘图里 wBox, hBox , padX, padY 这样的例子,相信不会有人说是复辟匈牙利命名法
Forwarded from Meirin H
这么说吧 我是对的 我不打算听你的话 我就是无敌的 你用来支持观点的例子在我看来都是菜鸡
Forwarded from dnaugsuz
一句话不说是最好的,闷声发大财
人们总是选择相信他们相信的东西,排斥不相信的东西,连看都不屑
即便三年前的我也知道要想改变一个东西,你得先融入它,证明自己懂它,才有资格批评它;
现在我看见别人对他们讨厌的东西,选择屏蔽掉,视若未见。
人们总是选择相信他们相信的东西,排斥不相信的东西,连看都不屑
即便三年前的我也知道要想改变一个东西,你得先融入它,证明自己懂它,才有资格批评它;
现在我看见别人对他们讨厌的东西,选择屏蔽掉,视若未见。
Forwarded from dnaugsuz
其实我不喜欢 w32 那种 pfn_xxx 的命名,我的法子是自己弄出来的,可以理解为民科,只要别讨厌我就好了≥﹏≤
Forwarded from 依云
「而且同名变量重 let 成不同类型属于不良实践」?你是在哪里看到 Rust 有这种说法的?
Forwarded from dnaugsuz
很多人在意的根本不是真理,他们并不希望让自己拥有更好看且可移植、定义式、高性能的编程思想/代码风格,只是简单地不愿让自己一直相信的东西被破坏罢了,就像中国一些只想着怎么讨好上级,不认真对待问题的人一样。
可惜不破不立啊,不探索怎么知道怎么做、合不合适
刚刚与我谈解释器等语言工具里不方便用全名的群友,是否知道我目前就正在用 Python 写一个支持宏展开的项目生成工具呢…… 😒
我举的例子也是一个完整,支持调用局部作用域, Kotlin Multiplatform 的解释器,虽然还没有惰性求值调用这样的功能,控制流都实现了,他怎么不结合评价下呢
可惜不破不立啊,不探索怎么知道怎么做、合不合适
刚刚与我谈解释器等语言工具里不方便用全名的群友,是否知道我目前就正在用 Python 写一个支持宏展开的项目生成工具呢…… 😒
我举的例子也是一个完整,支持调用局部作用域, Kotlin Multiplatform 的解释器,虽然还没有惰性求值调用这样的功能,控制流都实现了,他怎么不结合评价下呢