• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Tim Cooke
  • Campbell Ritchie
  • Ron McLeod
  • Junilu Lacar
  • Liutauras Vilda
Sheriffs:
  • Paul Clapham
  • Jeanne Boyarsky
  • Henry Wong
Saloon Keepers:
  • Tim Moores
  • Tim Holloway
  • Stephan van Hulst
  • Piet Souris
  • Carey Brown
Bartenders:
  • Jesse Duncan
  • Frits Walraven
  • Mikalai Zaikin

General question about code design

 
Ranch Hand
Posts: 68
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • 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
 
Ranch Hand
Posts: 686
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • 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.
 
Ranch Hand
Posts: 2908
1
Spring Java Ubuntu
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
code designer: Experience, domain knowledge.
code developer: Data Structure, C, OOP
 
Ranch Hand
Posts: 1183
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • 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..
 
Bartender
Posts: 11497
19
Android Google Web Toolkit Mac Eclipse IDE Ubuntu Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • 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
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Thanks a lot, everyone!
 
Ranch Hand
Posts: 357
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • 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
 
Ranch Hand
Posts: 215
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Head First - Design Patterns is a good book. Have a look, it might help you.

Regards,
John Eipe
 
pie. tiny ad:
Building a Better World in your Backyard by Paul Wheaton and Shawn Klassen-Koop
https://coderanch.com/wiki/718759/books/Building-World-Backyard-Paul-Wheaton
reply
    Bookmark Topic Watch Topic
  • New Topic