![]()
重构半年前的脚本时,我突然不认识自己的代码了。循环嵌套像意大利面,条件判断层层堆叠,一个函数硬塞了五个职责。那一刻才懂:能跑通的代码和能维护的代码,中间隔着一条马里亚纳海沟。
我以为自己懂Python,其实只是懂"舒服区Python"。直到这7个特性把我按在地上摩擦——逻辑变干净了,bug变少了,自动化脚本跑得更快。
最打脸的是match-case。以前写状态处理像搭积木,200、404、500挨个if-elif排队,代码越长越像俄罗斯套娃。用上模式匹配后,结构一目了然,连新来的实习生都能秒懂业务分支。换句话说,这不是语法糖,是代码的体检报告。
walrus运算符:=则是另一个隐形杀手。以前为了复用变量值,要么拆成两行破坏流畅度,要么硬凑一个没意义的中间变量。现在while (line := file.readline())直接一步到位,循环里也能边判断边赋值,省下的行数足够写半页注释。
dataclass让我删了200行__init__。以前写类像填表格,self.x = x重复到手指抽筋。现在@dataclass装饰器自动生成,类型提示一写,IDE自动补全跟读心术似的。更狠的是frozen=True,不可变对象直接堵住半个bug来源。
作者最后放话:「Working code ≠ good code」。这句话现在贴在我显示器边框上,每次想偷懒的时候就抬头看一眼。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.