我正在使用base62 gem来进行混淆/缩短id。所以我有类似的东西:
552.base62_encode
=> "8u"
"8u".base62_decode
=> 552
我想在初始化程序中对它们进行别名,以便它们更清晰,就像这样:
class Fixnum
def encode
base62_encode
end
end
class String
def decode
base62_decode
end
end
直接使用encode
和decode
这两个词有什么问题吗?这是否会导致任何相互依赖性,其他宝石等问题,或者这样做是否安全?
答案 0 :(得分:3)
好吧,因为String#encode方法是由ruby定义的,是的,它会导致问题。
总的来说,你应该尽可能快地远离猴子补丁 它只会让你的应用程序更难理解新开发人员,并且更难维护。