Broken Window Theory simply states that if we have some flaws in the system and the fix is ignored for some time, then that flaw will soon spread and can result in system rot.
For example, if the streets are clean, no one would like to litter first, but if there is already garbage thrown on the street and is not taken care of, then soon that place can become littered with lots of garbage and may even become a dumping ground. This is because, the thinking of the masses changes from “I should endeavor to keep this street clean” to “Oh, this place is already littered, so should not be a problem if little more garbage is added”.
A single broken window in a building left unrepaired for some time can instill an attitude of negligence and can result in more broken windows in the building and can even lead to more structural damages.
This theory is more to do with our values, with our attitude, with how we care for our code, our program, ourselves, our community, and so on.
No one wants to become the first one to break a window. Hence, in a sparkling street, clean system, no one wants to litter first, take the first bad design decision, and so on.
This theory also applies to life.
This theory can be reversed with other rule called “Boy Scout Rule”. It says, “Let us leave the world a little better than we found it”.
Similarly, in software terms, cleaning up and leaving the system a little better, than what one found before, is what is implied by this rule.
e.g., In each commit, a small improvement can be made, which can be as simple as renaming a variable with Good naming conventions.
If this rule is followed religiously by the entire team, it will not only lead to system improvement but can also pave the way in making things much better than ever before.
This broken window in software terms is also referred to as “Technical Debt”. And, refactoring is the “Boy Scout Rule”s synonym in programming in terms of caring for code. Refactoring is the practice or art of making changes in a program without changing the external behaviour.

Such a simple and nice thought and philosophy. Makes a lot of sense, not only in terms of coding, but applies in life too. Excellent!
Simple and effective way of approaching problems starts with solving things on a brick level and then making the whole building . Right way to resolve complicated things is to make them simple . If we start making things simple at the first place we could resolve the bigger issues without making much of the effort.Good idea for focussing on things mentioned here in the blog .
Excellent…!! This kind of attitude may help to have world on right track in all the angle..