I have one very basic rule when it comes to “good ideas”. A good idea is not an idea that solves a problem cleanly. A good idea is an idea that solves several things at the same time. The mark of good coding is not that the program does what you want, it’s that it also does something that you didn’t start out wanting.