being a good programmer

hi everyone.

i m a two months beginner at programming i m working so hard to be a good programmer. almost all of my free time :D

and i want to be a good programmer not a programmer just programs. i want to be a programmer who does care about beautiful, better, more reliable and appropriate to c++ standards coding. but i couldnt find much articles about these issues :(
(i found some but not enough)

can you help me with providing links and if i missed some points at being a good programmer, could you tell me these points too.

thx in advance
Last edited on
Hi there,

I don't consider myself a good programmer, but some terms that regularly come up in this respect are the following (in no particular order):

- Efficiency / stability: Does the code waste any resources or does it "not crash as long as you don't push the F1-button"?
- Maintainability / readability / consistency: Can others and yourself easily work out what your program does and make changes, both now and in the future
- Security: Is the code vulnerable to exploits or other kinds of attacks?
- Design / reusability: Is the code designed in such a way that, if appropriate, it can easily be used and or altered for usage in another project.
- Debuggin and error-handling: Everyone makes mistakes and bugs happen, but how efficiently can you trace a bug in your program? Does the slightest error crash the program, causing the user to loose the work he did in the last 6 hours?

I'm probably forgetting (important) stuff, but most of these you could look up on google (perhaps prefix with C++) and you should find quite a bit of information.

Hope that helps.

All the best,
don't forget unit testing - get yourself well-acquainted with boost.test, googletest, or cppunit (or all of them - who knows what your future job might be using)
Try to locate a local C++ expert who is accessible to you, and request that person to do a lightweight code review of your finished code.

It helps to make sure that the people you think are experts really know what they are talking about. Fortunately, there is an easy way top tell, which works most of the time: An expert is someone who not only understands the things that you are trying to master, but also can explain them to you. Anyone who can't answer your questions clearly is not an expert as far as you are concerned. There are people who can explain things clearly, and still be completely wrong, but fortunately, such people are rare. - Koening and Moo in "What do you do after you say Hello World?", chapter 32, 'Ruminations on C++'
thx all for your detailed and informative answers.

expert??? hmm i doubt there is a local expert in where i live. sth very problematic for me.

i m trying to learn with my friends :D together reading and sharing info

hope i will get a chance to meet with one soon.
This is a good start:

i m trying to learn with my friends :D together reading and sharing info

They might not be experts, but they will have different viewpoints on a solution to any problem and someone might see a better one you didn't think of. Teamwork is a skill in itself and just as important as programing skills.
yes thats sth i have realized and it is so good
Topic archived. No new replies allowed.