|
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
|
|
|
|
|
|
A combination of self-taught and books.
Moving from BASIC to PASCAL taught me good coding-structure, experience and working with an unforgiving team member (Hello Phillip) helped too.
I learnt the most practical stuff from the book, Writing Solid Code[^] whilst the subtitle 'Microsoft's Techniques for Developing Bug Free C Programs' may raise a few eyebrows, the techniques discussed in the book are actually good tips on writing solid code and you can tell that the book was written by somebody who has written a lot of production code. The focus on the C language, makes some of the book a little dated but a lot of the content is still very relevant today.
Michael
CP Blog [^]
|
|
|
|
|
I picked Books, but really I am mostly self-taught. I was programming from when I was in primary school, and I did a computing degree (which really just filled in the gaps as I leanrned about stuff I'd never really had an interest in) and then when I started working I realised how much I still had to learn.
The last time my dad came to visit he made a comment that I should be careful of my library as the structure of the house may not take that concentration of books in one place.
In reality I could pick all items except "Mentor" because I've never really had one.
Do you want to know more?
WDevs.com - Open Source Code Hosting, Blogs, FTP, Mail and Forums
|
|
|
|
|
Writing Solid Code. Once I took that book's contents to heart and started using the methods it describes all the time, I just had that gut feeling that my code was better because I tested it better while I was writing it.
I almost voted self-taught though. Since I started programming in the days before the 'net went public, and years before anything like CP emerged, the only options were a mentor and self-teaching. I wasn't around any mentorish people in the mid-90s, so I was on my own. While I taught myself the technical aspects of Win32 and MFC, my actual code quality was pretty bad. (I'd probably wince if I saw any code I wrote from 1995 or 1996 today.) WSC was really what started me in teaching myself good coding practice.
--Mike--
LINKS~! Ericahist | 1ClickPicGrabber | CP SearchBar v2.0.2 | C++ Forum FAQ | You Are Dumb
Magnae clunes mihi placent, nec possum de hac re mentiri.
|
|
|
|
|
There are a bunch of books, Writing Solid Code,& Code Complete are both excellent. The Gang of Four book is indispensible, everything Stroustrop has written, Fowler's book on refactoring is also important.
What worries me is "self taught". Sorry, I'm just not even close to bright enough to do that. I can dowhat I dobecause I'm *not* starting from scratch. Guys, this isn't year zero. People have been programming for over 40 years. It doesnt matter howyou learn from others experience, but it'sessentialthat you learn, and keep learning.
graham
|
|
|
|