You already know how to use modules in Ruby, but are you abusing them? In this post, we will take a look at different ways to program with modules and why they may or may not be a great idea. NamespaceModules give you an easy way to namespace the rest of your code. For example, when you generate a new gem: $ bundle gem foo_bar_fightersYou get a default file with a module in it: $ cat foo_bar_fight
![Good Module, Bad Module](https://cdn-ak-scissors.b.st-hatena.com/image/square/4b1e761cac36368050abc17e24cc76aad3350957/height=288;version=1;width=512/https%3A%2F%2Fimages.ctfassets.net%2Fvtn4rfaw6n2j%2F2r9j5JTdVhrBr8VikLaTKR%2F37b1fbb0dbd054edbaa1074d4d1ac677%2Fhttps___no-cache.hubspot.com_cta_default_1169977_964db6a6-69da-4366-afea-b129019aff07.png%3Fw%3D1200%26h%3D630%26fit%3Dfill)