Charles Nutter hat hier einen sehr interessanten Text über die Refinements geschrieben, die mit Ruby 2.0 kommen sollen. Refinements schränken die Möglichkeit für Monkey-Patching ein, um negative Effekte besser kontrollieren zu können. Refinements haben aber sehr negative Auswirkungen auf die Performance, die Komplexiät der Sprachimplementierung und außerdem ist das Verhalten bei Edge-Cases nicht genau definiert. Auf Grund dieser Diskussion werden Refinements nur in eingeschränkter Form ins kommende Ruby 2.0 einfliessen.
Keine Kommentare:
Kommentar veröffentlichen