monkeypatching

    7熱度

    4回答

    我正在和一位同事談論我們使用的某個軟件包的一個非常意外/不受歡迎的行爲。儘管在我們的這一方面有一個簡單的解決方案(或者至少是解決方法),但是他強烈建議通過修補相關代碼並在上游發佈補丁程序來擴展相關代碼,希望在未來的某個時間點能夠被接受。實際上,我們針對在每個新版本中自動應用的幾個包的特定版本維護補丁。主要觀點是,這是正確的做法,而不是「醜陋」的解決方法或脆弱的猴子補丁。另一方面,我喜歡純粹的實用性

    2熱度

    3回答

    我正在構建一個基於python 2.4的項目(這是一個嵌入式的python項目,所以我沒有選擇使用的python版本)。在整個應用程序中,我們使用array.array來存儲數據。 對酸洗的支持array.array對象被添加到2.5中的pickle(和cPickle)。在使用純python pickle類(我們繼承Pickler/Unpickler來處理數組)時,我們在2.4中有一個可行的解決方

    6熱度

    2回答

    我正在開發一個Lua庫,其中我需要大寫給定字符串的第一個字母。因此,我創建了以下功能: local capitalize = function(s) return string.gsub (s, "(%w)([%w]*)", function (first, rest) return string.upper(first) .. rest end

    0熱度

    2回答

    我在一些Ruby類中做了一些猴子修補,我希望在每次運行ruby時都會包含AUTOMATICALLY。 例如: 我將方法trim添加到String。我希望能夠做到這一點: 紅寶石-e「放‘AAAA’.trim」 我不想這樣做: 紅寶石-e「需要「monkey.rb 「;提出「aaaa」.trim' 是否有包含我的猴子補丁超時我開始紅寶石? irb怎麼樣? 謝謝!

    61熱度

    5回答

    我無法用另一個函數從另一個模塊中替換一個函數,這讓我發瘋。 比方說,我有一個模塊bar.py,看起來像這樣: from a_package.baz import do_something_expensive def a_function(): print do_something_expensive() 而且我還有一個模塊,看起來像這樣: from bar import a_fu

    0熱度

    2回答

    問: 使用Ruby是簡單的添加自定義方法現有的班,但你如何添加自定義性能?這裏是什麼,我試圖做一個例子: myarray = Array.new(); myarray.concat([1,2,3]); myarray._meta_ = Hash.new(); # obviously, this wont work myarray._meta_['createdby'] = 'dreftym

    2熱度

    2回答

    如this question中所述,線程內的自動加載可能會導致問題。可以應用哪些解決方法?

    0熱度

    1回答

    核心CS問題在這裏:Gamma中列出的設計模式等,哪些(如果有的話)涵蓋monkeypatching?另外,monkeypatching適當與subclassing哪些類別的問題?修補核心庫類中的錯誤是一個,還有其他嗎?我聽到很多關於在stackoverflow上進行monkeypatching的狂熱和狂熱,大多數人似乎對它有着強烈的擔憂,但作爲一名程序員,我真的很喜歡封裝泛型功能的能力,並將它們

    4熱度

    1回答

    我有一個應用程序,其中,爲了測試,我需要用特定時間戳替換time.time()調用,我已經在過去使用ruby做過 (代碼可在這裏:http://github.com/zemariamm/Back-to-Future/blob/master/back_to_future.rb) 但是我不知道如何使用Python來做到這一點。 任何提示? 乾杯, 澤瑪麗亞

    2熱度

    1回答

    所以我是Rails的新手,我試圖找出添加自定義表單元素的規範方法。目前我做這件事的方式非常糟糕。 module ActionView module Helpers module FormOptionsHelper def some_new_field(object, method, options = {}, html_options = {}) #c