If you want to code well, do a lot of coding. Read code. Read Linux sources - either kernel or modules. If you find the code easy to understand, ask yourself why and try to incorporate the good practices that you identify in your own code. If you find it hard to read, ask yourself why, and try to avoid the bad practices that you identify in your own code.<br>
<br>Read good books on programming. Read "The mythical man month" by Fred Brooks, "Peopleware" by Tom DeMarco (very good for humility - I'll let you work out why), "The psychology of computer programming" by Gerald Weinberg and, above all, "Code Complete" by Steve Mcconnel. I'm sure others can recommend other, equally good, books but from personal experience I can recommend these as both easy to read cover-to-cover and full of wisdom and useful advice for the programmer.<br>
<br>Finally, observe the KISS (Keep It Simple, Stupid!) principle and, to paraphrase Einstein, make your code as simple as it can be, and no simpler. When you have finished writing something (be it a clause, a function or a program), ask yourself "Is this code really clever?". If your answer is "Yes!", ask yourself "Does it really need to be clever?". If your answer is "Yes!", rewrite the damn thing. Unnecessarily clever code is bad code, period. Once you get past the meaningless gobblydegook written by computer language illiterates who call themselves coders (and practice will almost certainly remedy this problem in anyone inherently capable of programming a computer), the most common kind of bad code by far is "clever" code.<br>
<br>I wouldn't spend time and money on a course until I'd done the above, if I were you, you can get far more bang for your buck/time "just doing it".<br><br>Good luck, cheers, Colin (the other one)<br><br>
<div class="gmail_quote">On Wed, Aug 26, 2009 at 4:32 PM, Dave Germiquet <span dir="ltr"><<a href="mailto:davegermiquet-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org">davegermiquet-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Hello All,<br>
<br>
I am currently looking to expand my programming knowledge from more<br>
than College. College has taught me the basics of programming, Object<br>
Oriented concepts however not how to properly use them. I have learned<br>
alot of my concepts from looking at other people's programs.<br>
<br>
I am looking to take a course which gives me information on how to<br>
properly structure code and use Object Oriented programming in day to<br>
day use.<br>
<br>
Can anyone make a suggestion on where to find a course with more<br>
advance concepts of programming? Language is not really specific<br>
however I'd prefer java/c/php.<br>
<br>
Basically so I'm programming the correct way, instead of just putting<br>
code together to do a specific task.<br>
<br>
Dave Germiquet<br>
<font color="#888888">--<br>
The Toronto Linux Users Group.      Meetings: <a href="http://gtalug.org/" target="_blank">http://gtalug.org/</a><br>
TLUG requests: Linux topics, No HTML, wrap text below 80 columns<br>
How to UNSUBSCRIBE: <a href="http://gtalug.org/wiki/Mailing_lists" target="_blank">http://gtalug.org/wiki/Mailing_lists</a><br>
</font></blockquote></div><br>