Principles for writing a software

Before we began today’s blog  let me tell you, the importance of  principles  

  • Think of principles as a lighthouse or a compass that help you find the right direction in the ocean or the thick fog
  • Principles will give you a framework for thinking so, that you won’t get lost in the jungle and principles are deep fundamental truths or natural laws which is independent of you, if you don’t obey them, you will face  the consequences of  your actions

So, principled decision’s will help you to write effective software without getting lost in any trap

Principle #1: the reason it all exists

Before we begin any software project always make sure it has a business purpose and meaning that user’s perceive value in it

Be clear in mind, that software exists only for reason is to provide value to users all decisions should be made by keeping   this framework in mind

  • Before you write requirements
  • Before you design an architecture
  • Before you select any hardware platform
  • Before you write any piece of code or functionality

So, first, ask a question? Does the project add any value and meaning? If not? Then don’t do it

Principle #2: Keep things simple

The solution has to be simple so, that you can do it right now and has to be affordable to some extent

It has to be easy to implement or use

If it is very complicated or complex then users might not use it

Reduce and simplify:  means getting rid-off everything then what is essential and fundamental

Simplifying doesn’t mean quick and dirty, it often takes multiple iterations to simplify to the point of invisible

Principle #3: reuse the code and designs

“George Santayana: those who cannot remember the past are condemned to repeat it”

One thing, an expert will do when we compare him with novice, is that he will not solve every problem that comes to him rather he will reuse the solution’s that have worked in the past

So,  when they find a good solution they will use it again and again

Principle #4: write the code that other’s can understand

Write the code that is helpful to the user’s  or to the other’s who use it so, that they can extend it, maintain it, and debug it

Make the job easier for other people to use your code by specifying the design, and implementation of the logic behind the code

Remember: what you produce others have to consume

Principle #5: maintain the vision

A clear vision statement  is essential for a software project to get succeed or to get a hit desired target without wasting a lot of time wandering around the bushes  because it helps you as a compass that  shows you the directions in the thick forest

also, vision or conceptual integrity has to be maintained throughout the project otherwise, it will end with two or more minds and your work will also become a patchwork of incompatible design’s held together by the wrong kind of bolts


Mohammed Anees

Hey there, welcome to aneescraftsmanship I am Mohammed Anees an independent developer/blogger. I like to share and discuss the craft with others plus the things which I have learned because I believe that through discussion and sharing a new world opens up

Leave a Reply

Your email address will not be published.