Fw: [翻譯] Google 建議的 Python 風格指南 18, 19

看板Translate-CS作者 (沒回應=掛站)時間11年前 (2013/05/12 22:28), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
※ [本文轉錄自 Python 看板 #1HZwSQnx ] 作者: sandwichC (沒回應=掛站) 看板: Python 標題: [翻譯] Google 建議的 Python 風格指南 18, 19 時間: Sun May 12 22:28:39 2013 [翻譯] Google 建議的 Python 風格指南 18, 19 原文網址:http://google-styleguide.googlecode.com/svn/trunk/pyguide.html * 執行緒 (thread) 別相信內建型態的原子性 (atomicity)。 雖然 Python 的內建資料型態 (如:dictionary) 的某些操作看似具備原子性 (即 :一個動作不會操作到一半就被其他執行緒打斷),但某些狀況下原子性不被保證 (如:當 __hash__ 或 __eq__ 方法被實現時)。賦值的動作也不保證原子性。 不同的執行緒間優先使用 Queue 模組中的 Queue 來溝通 (編案:python 3 中為 queue)。另一個選擇是 threading 模組中的 primitive lock。為了能使用多執行 暑,學習使用 condition variable,並用它們來取代低階的 lock。 * 威力強大的功能 (編案:這篇裡的某些術語沒給例子,我不很確定它們指的與我理解的是否一致。 雖然這些術語不是本篇的重點,但若有人有更好的解釋歡迎指教。) 避免使用它們 釋義: Python 是一個很有彈性的語言,並提供許多花俏的功能,如:metaclass, 存取 bytecode, on-the-fly compilation (編案:指的是動態編譯嗎?), 動態繼承, 重新定義物件父類別, import hacks (編案:指 importlib 嗎?), 反射 (指 introspection?), 修改系統內部等。 好處: 這些威力強大的特性能讓程式碼更簡潔。 缺點: 這些很酷的功能非常吸引人,但並非必要。它們使用了一些較少被使用的底層功 能,因此程式較難被閱讀、理解、甚至除錯。對原作者而言,一開始可能不覺得 不對勁,但當需要再次閱讀程式碼時,會發現較長但較直觀的程式碼反而容易理 解。 決策: 避免使用這些功能。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 68.232.121.105 ※ 發信站: 批踢踢實業坊(ptt.cc) ※ 轉錄者: sandwichC (68.232.121.105), 時間: 05/12/2013 22:28:57
文章代碼(AID): #1HZwSgTR (Translate-CS)
文章代碼(AID): #1HZwSgTR (Translate-CS)