“当你不能保持干燥的时候,雨衣有你的代码。”
raincoat的Python项目详细描述
问题
假设您使用的是名为 umbrane 的库,它提供了名为 use撸umbrane 的函数,其内容如下:
defuse_umbrella(umbrella):# Prepare umbrellaumbrella.remove_pouch()umbrella.open()# Use umbrellawhilerain_detector.still_raining():umbrella.keep_over_me()# Put umbrella awayumbrella.close()whilenotumbrella.is_wet():time.sleep(1)umbrella.put_pouch()
这个函数按它所说的做,但它不是理想的分割,这取决于您的需要。例如,也许在某个时刻,你意识到你需要这三个独立的部分中的每一个成为自己的函数。或者你不能在你的应用程序中调用time.sleep。或者在雨伞打开的时候用它来做别的事情,就像和它跳舞一样。
也有可能你不能真正提出请求,因为你的需求是特定的,或者你没有时间(这很悲哀,但是,嘿,我知道它发生了)或任何其他个人原因。那你怎么办?别无选择。您可以复制并粘贴代码,根据需要对其进行修改并使用修改后的版本。无论何时上游功能发生变化,您都可能永远不会知道。