Today it was a hard day for me. As usual, I was looking at a mess around our code base. And the worst thing was that the code that I saw today was not a legacy code :S It has enough test coverage and moreover the system was working well. The problem was the conditional logics used all over the place. It is almost impossible to follow what’s happening and where :S Me and my colleague spent 2 whole days trying to understand what the heck was going on. Finally we figured it out and did what we wanted to do initially.
True Liskov Substitution Principle (LSP)
I know everybody is quoting from #WikiPedia or st, but I guess the true definition of this principle is:
