Throughout my plugin adventure I've been bothered by Robert X. Cringeley's argument against refactoring. Was I refactoring to improve NewsBruiser or just futzing around with the code to give myself something to do? I kept reminding myself that I was doing this to make it easier to introduce new features that other people had written. Now that it's done, new features are easier to write and don't clutter up the main code. Lousy programming conscience! Take that, Robert X. Cringely! Fri Sep 26 2003 09:15 Plugins: They Do A Body Of Code Good:
Sometimes I think I don't need a plugin system for NewsBruiser. It's overkill! But it's not, because last night I implemented automatic email of new entries by writing two plugins ("send email on entry publication" and "render entry as email message") without touching the main codebase.
Plugins let me effectively refactor a lot of NewsBruiser code into separate projects.