![]()
重構半年前的腳本時,我突然不認識自己的代碼了。循環嵌套像意大利面,條件判斷層層堆疊,一個函數硬塞了五個職責。那一刻才懂:能跑通的代碼和能維護的代碼,中間隔著一條馬里亞納海溝。
我以為自己懂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.