Transfer from https://ruby-china.org/topics/26120
Because of the flexibility of Ruby, how good use, in fact, is more skillful, in fact, summed up, can be categorized as follows
regular business, not the last resort, do not use meta-programming, do not use obscure techniques to show their own caution with the monkey patch, otherwise it will bring some strange problems, and C+ + inside the operator with caution use the same as if the class library, in the case of need, you can use these techniques to achieve the requirements , specific social circumstances need, in fact, can refer to some Java design, Ruby's flexibility is actually to solve some strong-type language inflexible, rather than misuse
The code should be easy to read, and the excessive skill of the art brings a lot of obscure sentences, and many times an obscure technique is no better than a method that is wrapped in a function.
The cancer inside Ruby