and you should avoid using I, i think c# and others use this as a convention for declaring interfaces.

When an interface in C# starts with I normally it is declared like II. For example you have a class named Item that is an interface. The normal styling would name it as IItem.

There is no reason to avoid using the letter I as a class name unless it's something dumb like IRobot.

As for the OP. My main suggestion would be your tabs. Decide if you are going to use 2 spaces for a tab or 4. Try not to change it up. I also prefer to have curly braces on the next line is it helps with readability but that's entirely up to you.

Since then I got a job at a software company. We have quite a few standards there to follow. Braces, tabulation, no interface naming like IRobot (instead we'd name it Robot and an implementing class could be EngineAssemblingRobot for example), commenting standards, unit test naming standards, etc.

Maybe I'm a pervert, but I'm having lots of fun working with these stuff, really.

Let him who has understanding recount the number of the beast, for it is a human number: His number is 0x029A.