Pragmatism in programming

in programming •  7 years ago  (edited)

Hi !
Sometimes I am a bit tired of yet the new hype that is going to make everything, the new framework this, yet the funky library that.
I will just tell a few things about what I call pragmatism in programming.

Understand Really the Goal

It starts with a few basic questions :

  • Do I understand what I want/being asked to do ?
  • Do I REALLY understand the thing. What business/process, why/how people are using it ? Who I can ask for ?
  • How to test it effectively, who can test it and push the boundaries ?
  • What do I want/need to add in the future, how it might impact the existing ?

Building

We can talk about the how ?

  • Try to build/architect the things in a loosely way, a modular way. Keep things as flat as you can, you will break it very soon, be clean and lean. No over design, it is not about using whatever funny pattern you like that may be useful at some point.

  • Choosing libraries, frameworks, tools and so on:

    • What is the goal ? Having fun/learn new stuff or doing real thing ?
    • Real thing:
      • You need to be conservative on your choices if you do not really master the subject, otherwise follow the recipe.
      • Libraries, frameworks, tools need to be supported and alive and maintained for several years after your choice.
      • Portability, documentation, robustness, performances, limitations: what does this thing really brings to you/to the project.
      • Know, Learn, Train on and about the stuff : become more efficient.
  • Think about the How on paper/blackboard, discuss, challenge: keep it simple but not simpler.

  • Implement it, Test it, Break it, Refactor it, Retest it, Reask in case you missed something, and iterate, iterate.

  • Comment/Document difficult and error prone things, you will be happy to have those later in case of bug or refactoring for a new feature.

  • Review a thing you have performed a few weeks/months ago, you will be another person and you will spot stupid/missing stuff.

  • Refactor/Cleanup as early as you can otherwise there will be blood !

Then, you shall know how to really master it:

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!
Sort Order:  

Great post!
I just started my journey here in steemit and am glad there are posts like this.

I am currently learning programming and I find Functional Programming and making your code more declarative helped me on some of the things you mentioned here.

Thank you and welcome to SteemIt.
It is another way of thinking in functional languages that forces you (in a good way) to structure the code differently.