hydrologics/Oasis.Base — pull request #50 by johnmetta (2011-12-26 18:32:29+00:00)
Title: Delete Program_john.cs and create DanSandbox class so @danrichardson can...

... use Sandbox as a more protected system

The sandbox is a sandbox, and thus should not be considered protected. If I'm building something and the sandbox breaks the build, I'm going to delete it because there is– or should be– nothing in the Sandbox that is critical for success of the codebase. It's a playground that should be expected to be wiped clean at any point, and important code should never be placed there. (it's all in source control anyway, so easy to get back).

I expect whatever I put into sandbox will be deleted, but I'm not sure @danrichardson has that same expectation, since he created [Program_John.cs](https://github.com/hydrologics/Oasis.Base/blob/master/Oasis.Sandbox/Program_John.cs). This is a fragile solution, since I'll delete the new Program.cs contents on a moment's notice, and then we have Program_John.cs cluttering up the codebase (I'm not going to rename files to fix the build).

There are two ways to fix this. Either we ditch the Sandbox altogether, and people can just have their that's not in the index, or we treat the sandbox as a sandbox and don't require that code is protected. I think there is value in having a Sandbox with indexed code that we can refer to– but that is not considered "safe" in any given build– so I vote for the second.

This pull request is an attempt at that second. Wrapping code up in the Program.cs' Main is going to continue to cause problems, so I've created [a DanSandbox class](https://github.com/hydrologics/Oasis.Base/blob/sandbox/Oasis.Sandbox/DanSandbox.cs) since he seems to want to protect his sandbox code. This way, @danrichardson can put anything he wants to into this class and I can exclude it from the build if it breaks it.

The only thing that we should have in Program.cs, then, is either code that is expected to be deleted, or calls to external classes like DanSandbox if it is expected to be protected.

After this is merged and @danrichardson sees how DanSandbox.cs works, please add it to the .gitignore, because I don't need any of that code, and may still have to comment out that code to prevent builds from breaking. That way, I won't have anything that I can't just simply delete inside Program.cs-> Main to make a build work.