• Post Reply Bookmark Topic Watch Topic
  • New Topic

General question about code design  RSS feed

 
D Preethi
Ranch Hand
Posts: 68
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi All,

I have a very general question to ask, not sure if I am in the right forum to ask this. Please suggest me a suitable forum in case my query is inappropriate here. My question is :

What are the skills required to become a better code designer? How do I start on it?


Thanks,
Preethi
 
Fred Hamilton
Ranch Hand
Posts: 684
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I'd say there are a number of different skills. Among other things, I think it helps to be creative and imaginative. A creative act starts with an idea, an inspiration if you will. So come up with lots of ideas and try them out. Then of course you will also need the technical skills to carry out these ideas.
 
Sagar Rohankar
Ranch Hand
Posts: 2907
1
Java Spring Ubuntu
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
code designer: Experience, domain knowledge.
code developer: Data Structure, C, OOP
 
Sebastian Janisch
Ranch Hand
Posts: 1183
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Experience is a big point too. You always start up as a beginner. And experience you will only gain by writing thousands of code lines. The mistakes you make along the way and the bad design decisions as well is what after all makes you more and more experienced and the workflow becomes smoother and smoother..
 
Maneesh Godbole
Bartender
Posts: 11445
18
Android Eclipse IDE Google Web Toolkit Java Mac Ubuntu
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Have you ever used third party libraries, targeted at solving a specific problem? Did you find the API intuitive and easy to use? That is how a good code design should be. Remember, most of the times, good/bad design is for humans. The computers really do not care about it. They will process what is instructed. GIGO

There are lots of open source projects out there. Just grab a medium sized one and look at the source. That should give you an insight on what a good code should be like.

Take a small problem. Try to work out in how many ways you can solve it. Try to pretend your code will be used as a library/framework by others. Try to make it as generic/flexible as possible. Share your code with us. I am sure you will pick up lots of pointers and suggestions.

Read about design patterns. Those are generic guidelines on how code should be structure. This is a good place to start. Please note it is not mandatory that one must use design patterns always. Many developers fall for the trap. They will be like "Oh! My code is super! I used 3 design patterns." Seldom do they stop and think if it was really required. The key is to keep it simple.

Practice practice practice.
 
D Preethi
Ranch Hand
Posts: 68
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Thanks a lot, everyone!
 
Omar Al Kababji
Ranch Hand
Posts: 357
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi if you are interested I wrote a post on my blog about Efficient Software Development if you are interested you can read a bit
 
John Eipe
Ranch Hand
Posts: 215
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Head First - Design Patterns is a good book. Have a look, it might help you.

Regards,
John Eipe
 
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!