|
when i started my first job i thought i knew what i was doing
i was self taught from some basic books and various small programs that i had written just for fun.
i knew what functions were, and i even used them, so of course i assumed that everything was wonderful
over the last year or two i have really learned a LOT from codeproject, online forums, and mainly from books. ironically most of the books i found via online forum's, so i ended up voting for books.
Meyer's Effective C++ was a major eye opener!
however i needed a few years in the trenches, having to re-write and totally re-structure my own and other peoples code before i had the experience to really understand what concepts like refactoring and all of these other ideas were about.
now i am embodying the old saying "the more you learn the less you know"
next up i need to read the gang of four, and learn to apply this as well.
|
|
|
|
|
Never forget: "Stay kul and happy" (I.A.)
|
|
|
|
|
It is a magical control!
--
I got nasty habits. I take tea at three.
-- Mick Jagger
I blog too now[^]
|
|
|
|
|
Ahh yes, the mighty Zen of CListCtrl.
~Nitron.
ññòòïðïðB A start
|
|
|
|
|
Never forget: "Stay kul and happy" (I.A.)
|
|
|
|
|
The use of CListCtrl as a write-in vote is comic GOLD, man! Just try it, and you will have the entire 1.5 million member base of CodeProject laughing hysterically.
An expert is somebody who learns more and more about less and less, until he knows absolutely everything about nothing.
|
|
|
|
|
|
So I needed to vote 2 categories.
Although I did teach myself alot when as I used to code exclusively in assembly language. Thats forces you to connect everything very well. And keep it up to date or you get yourself in deep trouble very quickly.
If you vote me down, my score will only get lower
|
|
|
|
|
Could have been:
Where did you learn most of your good coding practices?
(Books? You're kidding, right?)
or
Where did you learn most of your good coding practices?
(If you pick "books/articles", you've got some learning to do, pal.)
I certainly agree that if you learn only from books, you're missing out on some things, but it seems a bit strange to knock a source of knowledge that appears as an answer to your question.
Charlie
if(!curlies){ return; }
|
|
|
|
|
(I tried to add the following comment as an edit to my previous post, but the attempt failed repeatedly with an error.)
Lest I be misunderstood (the down-vote was my clue), I am not disparaging those who learn primarily from books. I am one of them. I was commenting on the poll question and its corresponding description, which I judged to be somewhat less than impartial.
Charlie
if(!curlies){ return; }
|
|
|
|
|
I wasn't fooled. The answer to the question "Where did you learn most of your good coding practices?" is Books, so that's what I said. And I voted 5 for your comment, because I agree with it.
|
|
|
|
|
I think I've learned the most from these, or what I would consider near failures--products that eventually shipped but had a lot of time overruns or shipped with tons of bugs.
I've found that no matter how good a book, it's all just theory until you've had a few bad experiences under the belt, at least for me.
While I've been blessed to have good managers most of my career as an employee, most of my experience comes from essentially being the only developer on a project or being hired to perform specific tasks. Code reviews and mentoring have been mostly not possible in those situations, as everyone else either knew nothing about programming or were hardware guys (you can learn a lot from hardware guys, BTW). And in cases where I've been part of a team, I've ended up being the project lead for one reason or another and ended up mentoring others!
So, when a project failed, I pretty much had only myself to blame. Talk about a rude awakening!
So, I've developed good coding practices mostly from bad experiences. One thing though--at some point even experience can only teach so much, and you gain enough experience to take what's in those books and be able to actually say "oh, yeah, I can see how that would make my code better". Long live Code Project and people who write articles that demonstrate good coding practices!
Marc
MyXaml
Advanced Unit Testing
YAPO
|
|
|
|
|
Marc Clifton wrote:
So, I've developed good coding practices mostly from bad experiences.
I need more bad experiences then, as my coding practices are crud.
Regardz
Colin J Davies
The most LinkedIn CPian (that I know of anyhow)
|
|
|
|
|
ColinDavies wrote:
as my coding practices are crud.
Well, if you're programming with databases, CRUD is pretty much the only option.
Marc
MyXaml
Advanced Unit Testing
YAPO
|
|
|
|
|
I've generally learnt the most from my mistakes... the bigger the mess-up I make, the less likely I am to ever repeat it.
I used to think that I could learn from other peoples mistakes (eg. "wow, what a mess, I'll never do that") but I've found from experience that untill I have made that mistake myself, it doesnt get properly fixed in my head.
An old friend of mine used to say often "if I havent made 10 mistakes every day, I havent done enough"
I'm doing ok today, I've made and corrected one mistake already, and it's still early... only another nine to go.
-=DarKNighT=-
|
|
|
|
|
YEAH
Hard to say but I strongly agree, we learn from our past experiences
|
|
|
|
|
Marc Clifton wrote:
and you gain enough experience to take what's in those books and be able to actually say "oh, yeah, I can see how that would make my code better"
right to the mark, Marc
I think "self-educated", in our business, basically means: you've a acquired a good filter for all the input given. And past mistakes are a great teacher for that.
we are here to help each other get through this thing, whatever it is Vonnegut jr. boost your code || Fold With Us! || sighist | doxygen
|
|
|
|
|
School taught me the basics, such as naming variables well, organising functions and objects, how to indent (well, more that I should have a consistent practice of indenting), and how to work with others.
Work taught me a lot of the technical stuff, like how to use MFC, how to gather requirements (yes, I consider this a good "coding" practice!), and refined the stuff I learned in school.
An expert is somebody who learns more and more about less and less, until he knows absolutely everything about nothing.
|
|
|
|
|
You would have thought more people would made not sucumbing to mentioning ClistCtrl a New Years Resolution. Or maybe they did and broke it on just the 3rd day of 2005.
As for the survey, I am learning good coding practices thanks to Chris, partly through pushing myself hard to meet his expectations and from the feedback he gives me on code I check-in.
regards,
Paul Watson
South Africa
The Code Project
South-East Asia Disaster: How you can help
Pope Pius II said
"The only prescription is more cowbell. "
|
|
|
|
|
Paul Watson wrote:
You would have thought more people would made not sucumbing to mentioning ClistCtrl a New Years Resolution. Or maybe they did and broke it on just the 3rd day of 2005.
I guess somebody still finds it funny, but then some people think Charlie Chaplin was funny too.
Paul Watson wrote:
and from the feedback he gives me on code I check-in.
A good code-review can be very helpful. Working in a team is good, as people don't tend to let you forget your past mistakes - which can be helpful in ensuring you don't repeat them.
Of course, being a web-developer you will have suffered more than most because the technology and tools never made it easy to write good, structured code. At least that is something that Microsoft addressed with Code-behind in ASP.NET
Michael
CP Blog [^]
|
|
|
|
|
Paul Watson wrote:
not sucumbing to mentioning ClistCtrl a New Years Resolution
I made a resolution to start mentioning it.
"If it's Snowbird season, why can't we shoot them?" - Overheard in a bar in Bullhead City
|
|
|
|
|
So I had to pick 'work'. I got my first programming job when I was a sophomore in college. For the next six years (four years of college, two full-time after I graduated), I worked for a small company. The head of the company was frankly a bully. He constantly berated me whenever I failed to meet his standards, standards which he himself failed to meet. It took me a long time to finally believe I was good at what I do after working for this guy.
Software Zen: delete this;
|
|
|
|
|
Right so you had a bad mentor. A good mentor is an amazing thing and you will learn so much more than from a book.
Don't be put off by that bad experience.
regards,
Paul Watson
South Africa
The Code Project
South-East Asia Disaster: How you can help
Pope Pius II said
"The only prescription is more cowbell. "
|
|
|
|
|
Paul Watson wrote:
Don't be put off by that bad experience
I wasn't (at least not for long). The company I worked for after that did a lot for my self-confidence. The two managers at that company did a lot for me in terms of showing me what a more balanced working environment could be like.
Side note: The guy who was the vice-president at that first company is my current boss. We have worked together off and on now for 25 years. He was my real mentor during that bad experience, and has been a good friend since.
Software Zen: delete this;
|
|
|
|
|
I am a bad Mantor
Why would i tell an invoice which took me more than a month to find out...
unless my company or other pay me to do so
|
|
|
|