Let’s have a look at Tips to KISS – Keep It Simple Stupid – in programming. KISS (Keep It Simple, Stupid) has been a programming philosophy for decades among software developers. The idea is that complex coding should be avoided as much as possible and instead, with simple code and a strict design principle to keep things clean, the developer can efficiently produce an end product without any bugs or errors. KISS has also come to be associated with simplicity in general; one might say that the best design is KISS-simple. However, this particular technique could also be seen as counterintuitive or even suboptimal; it is difficult to use complexity if you’re trying to keep your code clean and maintainable.
One key to successful design is simplicity. It’s more important than any other feature in determining whether your product will be successful.
Tips to KISS – Keep It Stupid Simple – in programming effectively
1) Consider the use of comments in code
Use comments to explain why a program is a way it is. The ideal comment describes what is happening, what the program will do and why it does it this way. These are more than just explanatory remarks; they provide a roadmap for design improvements. Comments can also make code harder to read through so you want to be careful about editing them frequently.
2) Keep it simple and clean when writing and refactoring.
Simplicity is the most important goal; everything needs to be as simple as possible. The goal is to make it do one thing only and not any other thing that a computer can do.
Keep the code under control. Every time you refactor your code, pay attention to whether you’re adding complexity or removing it. It is likely that you’re removing complexity but not realizing it as there are often unintended consequences of these actions on your design such as performance degradation or changing the semantics of a function call.
3) Initialize variables whenever possible
init is a great way to reduce complexity by getting your variables set up immediately. It also improves readability of your code. If you decide you need to change the value of later, it’s pretty straightforward as a variable should only have one well-defined purpose; it should be easy to tell why that variable is there and what its value represents.
4) Complexity is relative
Some programs are much easier to understand than others even if they do exactly the same thing. In some cases, this depends on how concise or verbose the language used is; in other cases, it comes down to how well thought-out or structured the algorithm or design is.
5) Name variables properly
When naming functions and variables, think carefully about what they represent. Avoid names that can be confused with other things (think of the name “New York” when talking about the state) or that are easy to confuse with constants; this makes it harder to read and understand.
6) Don’t repeat yourself (DRY), keep it DRY!
This principle also goes by the names Don’t Repeat Yourself (DRY) and Don’t Repeat Yourself (DRY). It says that you should avoid repeating some task more than once in your code, which can save a lot of time and therefore make your program more readable.
7) Prefer short names to long ones and avoid unnecessary punctuation
Long names are harder to understand in code and can sometimes cause naming conflicts. They also make it easier to use library or function calls improperly or misspell them, which will make your program either buggy or confusing to use. They are especially irritating if you get wrong, as an error message will then be affected by the punctuation of that name instead of being able to read clearly about the situation. For example: If you had “qux” in your program, an incorrect call could lead directly to a bug on the input file being opened being named “qux”.
8) Avoid large functions, classes and modules
Large functions, classes, and modules can make it difficult to understand what’s going on. This is especially the case when the program has a great number of symbols included in it. For example, you can have a file with 8k lines of code but if you have 10 variables each counting up to tens of thousands of lines each with huge number assignments of values and conditions, the thoughts running through your mind would be that something is wrong. Keep functions small and helper functions small.
9) Classes are not a cure-all for everything
Classes are an extremely useful tool for code organization but only for things, not for everything. Classes can be useful for modeling complex concepts and operations but they usually aren’t used for controlling the flow of execution. For example, in a program to automate some order processing, you could use classes to model the orders, the orders and order lines being like subclasses. Doing this will allow you to basically divide the program into independent modules/functions that can be independently tested as well as maintainable (see Independent testing section).
In KISS, Simplicity pleases customers more than features, schedules, or costs; it elicits more respect from employees than status or money.
It is easier to build and test than features and functions. Simplicity gets a better bang for the buck; it’s an investment that actually pays off. Every level of your design should strive for simplicity including analysis, architecture, algorithms, data structures and facilities.
You might be interested in 7 useful programming languages that you should learn in 2022.