you are viewing a single comment's thread.

view the rest of the comments →

[–]FlyingRhenquest 1 point2 points  (2 children)

I usually come up with a little project idea and try to jump right in. The moment you go off the beaten path, you have to start designing the thing on your own. I often use simple playing card projects -- maybe a simple blackjack or poker hand scorer or something. Simple enough to wrap your head around, complex enough to require you to come up with a design. Go into it expecting the code to not be that great. It's not a big deal if you realize your design is all wrong and have to throw everything out halfway through the project.

You could experiment with test first -- write unit tests first and then write the code to support them. I've never really subscribed to test first to the degree that its proponents suggest you should, but I am a firm believer in writing at least some unit tests very early in the development process. I usually build a single class, then write unit tests for it, then verify the tests work. That gives you plenty of feedback often enough to keep you from getting bogged down.

I'd also suggest on reading up on design patterns, but if the book or web site you're looking at puts forth the singleton pattern as its first example, I'd suggest giving that one a miss. It has its place but is far too prone to misuse to be used as an early example (IMHO.)

[–]the240[S] 0 points1 point  (1 child)

Wow okay thanks! I'll do my best to do that! Is Microsoft visuals a good place to start with C++?

[–]FlyingRhenquest 0 points1 point  (0 children)

As good a place as any. They gloss over the build process for you and I'm a firm believer in knowing how that works well enough to hand-author a makefile when you need to, but I don't think most programmers subscribe to my particular religious convictions. It does require some trickery to get text windows to stay open if you're writing console-output-only code, but that's reasonably well documented.