I think we all understand what recursion is without any explanation. If you do not really know what recursion is the best way to know is to do a google search of the word recursion.
Love that Google Easter egg 🙂
Anyway. Since we all know what recursion is let’s try to understand why in quite a few cases. Recursion is considered as bad programming. Even though many solutions to problems we face in real life computing are inherently recursive most of the recursive solutions are also inherently bad as they either consume too much memory, or the loop solution is much more efficient in terms of speed.
Continue reading What is Tail Recursion?
I am sure in many cases you have seen enumerations that can be combined using the bitwise OR operator.
It is being used by many libraries that you might have used. It is also useful when you want to set some flags on or off on a specific item in a non OO language or if you wish to pass a specific set of flags in a method.
Continue reading Combinable Enums
A huge pain in the arse for most developers is the need to null check everything before starting to use it. Microsoft has introduced null operators in previous versions of C# and upgraded them in C# 6.0 but still, we can and we should avoid them.
How? Well by avoiding nulls altogether.
Can we do that? Of course we can.
Let’s see how
Continue reading Checking for nulls? Not anymore
We all know what spaghetti code is. For those of you that do not here is a small description by Wikipedia.
Spaghetti code is a pejorative phrase for source code that has a complex and tangled control structure, especially one using many GOTO statements, exceptions, threads, or other “unstructured” branching constructs. It is named such because program flow is conceptually like a bowl of spaghetti, i.e. twisted and tangled. Spaghetti code can be caused by several factors, such as continuous modifications by several people over a long life cycle. Structured programming greatly decreases the incidence of spaghetti code.
That’s cool and all but what the hell is Lasagna code? Continue reading Pitfalls of Lasagna Code
In programming jargon, Yoda conditions (also called Yoda notation) is a programming style where the two parts of an expression are reversed from the typical order in a conditional statement. A yoda condition places the constant portion of the expression on the left side of the conditional statement. The name for this programming style is derived from the Star Wars character named Yoda, who spoke English in a non-standard syntax.
Continue reading Usefulness of Yoda expressions in programming
First of all you must understand something. As a Software Developer you will never know enough, you will never be ready for what is coming. Something will always pop up and someone will always know stuff you do not know. This is the life of a Software Developer and this is how it will always be.
Continue reading Surviving the world of Software Development