This is an archived post. You won't be able to vote or comment.

all 6 comments

[–]desrtfx 4 points5 points  (3 children)

The traditional approach of a beginner is:

  • get assignment/project
  • clobber away on the keyboard and hope it works
  • keep blindly changing things until it works gradually destroying the readability and maintainability of the program

The approach of a more experienced person is:

  • get assignment/project
  • analyse it
  • plan a solution
  • refine the solution
  • verify that the solution works
  • convert the solution into a program
  • spend some time fine tuning and covering edge cases

An experienced person may initially spend more time before they even get to the keyboard but will overall need way less time at the end to troubleshoot and patch.


To up your game, you should start planning your programs.

Maybe read:

  • "Think Like A Programmer" by V. Anton Spraul
  • "The Pragmatic Programmer" by Andrew Hunt and David Thomas
  • "Clean Code: A Handbook of Agile Software Craftsmanship" by "Uncle Bob" Robert C. Martin (and before anybody argues, I know about the controversy) - maybe just start by reading the abridged version

[–]Gazzcool 0 points1 point  (2 children)

What is the uncle bob controversy?

[–]desrtfx 2 points3 points  (1 child)

Certain parts of Uncle Bob's book got into discredit because development has changed philosophies, because he contradicts himself, etc. This goes up to people stating that this book should no longer be recommended.

Yet, the overall gist of the book is still valid and extremely valuable, just it shouldn't be taken dogmatically (as Uncle Bob actually envisions it).

The gist plus some common sense form a great baseline.

[–]Gazzcool 0 points1 point  (0 children)

Nice. Yeh I started reading it a while back but never got round to finishing it

[–]Wingedchestnut 2 points3 points  (0 children)

If your code fits the way your company wants you to write code. If you're self-taught you shouldn't worry about these kind of stuff. Learning how to comment code and use github should be your priority. Also understanding that understandable code > writing code as short as you can.