Programming the right way?

Started by
22 comments, last by Ronnie Mado Solbakken 10 years, 8 months ago

Here are some other useful books about best practices that I have picked up and seem to be popular:

Design Patterns: Elements of Reusable Object-Oriented Software

http://www.amazon.com/Design-Patterns-Elements-Reusable-Object-Oriented/dp/0201633612/ref=sr_1_1?ie=UTF8&qid=1374776130&sr=8-1&keywords=design+patterns

C++ Coding Standards: 101 Rules, Guidelines, and Best Practices

http://www.amazon.com/gp/product/0321113586/ref=wms_ohs_product?ie=UTF8&psc=1

Advertisement

Hey Richard,

There is nothing wrong with hack and slash / rapid prototyping it can make you very productive, with that being said you need to train yourself to spot potential issues with the code you write and know the impact it may have.

That should give you a long term to-do list, just remember premature optimisation is the root of all evil.

So what to do?

Pick challenging personal projects which cover broad areas that are just beyond your current level, for example: an account management system with a login and user profile front end.

That should cover database and class design, security, state management etc, also you may end up with a reusable system for your future game projects.

Read up on topics before tackling them to give yourself a degree of confidence that you are going in the right direction.

Object Oriented Programming Concepts (Overview)

Object Oriented Programming Concepts (In Detail)

S.O.L.I.D. Principles of Class Design (Overview)

Software Design Patterns (Overview)

A couple of "classic" books which are fairly language agnostic:

  • Code Complete.
  • Patterns of enterprise application architecture.
  • The Pragmatic Programmer
  • Refactoring: Improving the Design of Existing Code

Useful websites for finding answers to technical questions:

http://stackoverflow.com/

http://programmers.stackexchange.com/

Try picking up another programming language once you are confident, it will make you a more rounded programmer and will teach you something new that you can take with you in future.

Sorry this is a bit of scatter gun approach to answering your question, but hopefully you can find some useful information in there!

Jamie.

Like you should be using containers such as Vector instead of Arrays, trying to avoid pointers, and if you use a lot of New/Delete's then it's worth reading about RAII.


That doesn't sound like particularly good advice to be honest, at least not for a beginner. Arrays and pointers have particular uses and using a vector when an array is the more ideal solution is just as wrong as using an array when a vector would be better. At first, it's better to learn the difference between the two, and then learn when, and when not, to use them.

Avoiding pointers is just non-advice really (at least without context). If you're using Java, then you don't even have pointers, and if you're using C, just try and do anything meaningful without them.

I can only talk about what I've been doing myself:

a) - Watch videos about computer science and programming, e.g. from Stanford University or UNSWlearning.

b) - Get/Read books about general programming concepts.

b1 - For Java Programming (my discipline atm), get books like Effective Java Second Edition, Java The Complete Reference, etc.

b2 - For general Programming and Problemsolving, get The Art of Computer Programming by Donald Knuth.

c) - Get a better IDE (if applicable) and be sure to make your own code as easy to read as possible, even to yourself. Proper commenting is key.

d) - Github and open source code sharing is your friend.

etc.

- Awl you're base are belong me! -

- I don't know, I'm just a noob -

This topic is closed to new replies.

Advertisement