File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
http://aspose.com/file-tools
Win a copy of Clojure in Action this week in the Clojure forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

improve coding skills

 
Rahul Kakkar
Ranch Hand
Posts: 70
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
i would rate myself as an average as far as programming skills (in java) and logic are concerned. however i want to improve my skills. many-a-times i find myself writing unnecessary code which could be accomplished in a much more efficient way and also that sometimes the logic just doesn't click. im aware of design patterns. other than that how could i improve my coding skills?
 
Jeff Langr
author
Ranch Hand
Posts: 799
5
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Learn test-driven development. In the past 6 years of my considerably longer programming career, it's taught me something new every week, if not every day.

-Jeff-
 
Paul Sturrock
Bartender
Posts: 10336
Eclipse IDE Hibernate Java
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
2. Get involved in code reviews. Quite often the opinion of someone more experiences will correct/improve your code. And it works the other way, reviewing someone elses code forces you to consider why you believe writing code one particular way is the best.

3. Learn how to use a proper modelling tool. Produce a design and submit it to peer review before writing any lines of code.
 
Ernest Friedman-Hill
author and iconoclast
Marshal
Pie
Posts: 24204
34
Chrome Eclipse IDE Mac OS X
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
These are all good, but I'd put at the top of the list:

0) Practice. Pay attention to your mistakes and learn from them. There is no substitute.
 
Rahul Kakkar
Ranch Hand
Posts: 70
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
@Jeff Langr:

Will look into test-driven development. thanks for the suggestion.

@Paul Sturrock:

Any online peer groups available? Can't think of anyone I know personally who would be good enough to review the code. Also, I can't get every code I write, reviewed; so could you please elaborate on how I could about it?

@Ernest Friedman-Hill:

The golden rule. . Am planning to start coding (here. Hope that helps. Still wondering about the code review part though :
 
Stan James
(instanceof Sidekick)
Ranch Hand
Posts: 8791
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
http://www.ButUncleBob.com seems to be down right now. When it comes back scan down the list of blog entries for "Programming Kata" or something like that. Robert Martin provides a small set of exercises that challenge you to write as simply as he does. Try them without reading the answers first for fun, but he invites you to do them over and over even if you just memorize his answers.
 
Stuart Ash
Ranch Hand
Posts: 637
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Originally posted by Kakkar Rahul:
@Paul Sturrock:

Any online peer groups available? Can't think of anyone I know personally who would be good enough to review the code. Also, I can't get every code I write, reviewed; so could you please elaborate on how I could about it?

[/QB]


You could participate in opensource projects in Jakarta and Sourceforge. You can browse their unit tests and reviews, apart from read their discussions.
 
Paul Sturrock
Bartender
Posts: 10336
Eclipse IDE Hibernate Java
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator

Any online peer groups available? Can't think of anyone I know personally who would be good enough to review the code. Also, I can't get every code I write, reviewed; so could you please elaborate on how I could about it?

My assumption was you were currently working as a programmer, in which case your colleagues are the best source for code reviews. Stuart Ash's suggestion is a good one if you are an amateur. This site too - you often see people post snippets of code asking "does this make sense?" or "is this the best way of doing this?" - if you are not averse to a little criticism, you would generally get some decent replies.
 
Stuart Ash
Ranch Hand
Posts: 637
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Originally posted by Ernest Friedman-Hill:
These are all good, but I'd put at the top of the list:

0) Practice. Pay attention to your mistakes and learn from them. There is no substitute.


And if I can add to that, it would be, first, make a lot of mistakes.

 
Jeff Albertson
Ranch Hand
Posts: 1780
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Speaking of code reviews, I was helping a junior developer and I came across:
Can you count the ways that's bad? I searched for "NullPointerException" and
found it was being caught all over the place, usually assuming that one
reference (among several) in a block of code *must* have been the culprit.
 
Rahul Kakkar
Ranch Hand
Posts: 70
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
@Stan James:

The site isn't up yet. will check it out once it is!

@Stuart Ash:

I was just thinking about participating in some open source projects out there....

@Paul Sturrock:
... and you just answered my question. I was wondering that since i'm an amatuer, would it be sufficient enough to participate. Guess i'll start looking now.

@Adam Richards:

Although I've got this prejudice against C and C++, will check those books out.

@Jeff Albrechtsen:

! that is bad code!
 
Ilja Preuss
author
Sheriff
Posts: 14112
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Speaking about books, I'd also highly recommend "Agile Software Development - Principles, Patterns and Practices" by Robert C. Martin (aka Uncle Bob).
 
I agree. Here's the link: http://aspose.com/file-tools
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic