Hi Jeff,

Great post! I've only been using WordPress for a year now and just started developing plugins. I often find orphaned tables and directories and wonder why some plugin developers focus primarily on the set-up and not enough on the tear-down.

When I started working on my current plugin, I determined that it needed a database table. So the first thing I did was make sure the table was created properly on activation, and dropped properly on uninstall, but I only knew about the uninstall hook. I like the thought of keeping the Uninstall code in a separate file, it feels clean. So I'm going to adopt that practice and refactor my current plugin right away!

Thank you for sharing!