Site icon TAAGUNG

SOUND : An Effective Coding and Code Review Technique

Coding and Code review are the most basic building blocks of any software product. Any lapse may severely affect the schedule, quality, and of course the cost. Not only in the review but a few issues can also be found at a later stage as well. That may lead to rework.

With my experience of over a decade in this, I have grouped relevant Non-Functional requirements logically and call it SOUND. I use them and recommend to make it an integral part of the coding and code review process.

Before I start, some important points to note –

  1. It is repackaging of coding and code review techniques so that they can be done more effectively.
  2. Concepts shown here are just for a guideline. They can be changed based on the actual requirement, technology stacks, standards, target user. 
  3. This article is about What to do NOT How to do,  and NOT specific to any technology platform, hence it has no code example or any technical demos.
  4. Though majorly I have included Non Functional requirements, it does not jeopardize Functional requirement at any point of time. 

What is the SOUND?

It stands for –

S for Secure Programming –

What is Secure Programming?

Yes, it is related to the security of the application or your unit of assignment. We agree that we can not make our code 100% secure still we can prevent it from most vulnerable attacks. It has the objective of having a reliable and robust software product.

Sometimes secure programming is not considered because of laziness or programmer, strict timelines to complete, less knowledge of security threats.

How we can do Secure Programming?

Under Secure programming, as a developer, we need to understand all the security threats. For this purpose, the best approach to follow OWASP ( OWASP (Open Web Application Security Project ) Top 10 threats. Here is a brief introduction to them and we will be covering them in subsequent articles.

O for Optimized Programming –

What is Optimized Programming

Optimized programming leads to an efficient software product, less input-output operations, faster execution, less memory consumption.

How we can do Optimized Programming?

U for Useful Programming –

What is Useful Programming?

It means our program should be useful in terms of testability, maintainability, extensibility,  Modifiable, and scalability. Scalability is an engineering problem and depends heavily on architecture followed. Extensibility is 

How we can do Useful Programming?

N for Neat Programming –

What is Neat Programming

The code is read 10 times more than it is changed. So, our code has to be easy to understand and change. Subsequently, it helps in reducing maintenance and enhancement cost of the software product.

Any fool can write code that a computer can understand. Good programmers write code that humans can understand.

Martin Fowler
How we can do Neat Programming?

D for Defensive Programming –

What is Defensive Programming

Defensive Programming provides us high availability of code, high quality, safe and smooth execution of the application, robust, less bug etc. Without defensive programming code runs in normal condition/ input but will break with the deviation.

How we can do Defensive Programming?

Conclusion –

This statement will clear all doubts (if any) for categorizing non-functional requirements under SOUND

Secure programming is to save from attack while Defensive programming is intended to handle unexpected user inputs or actions. The Neat programming is somehow like clean code which in turn talks about the readability of code while Useful Programming covers scalability, maintainability, extensibility, and testability. Optimized Programming means code performance should be best at any time while scalability under Useful Programming refers to the ability of software product to function well with increased demand condition and remains stable. 

Exit mobile version