Sometimes there are bugs in our code, and our wish is to exterminate all of them in zero time. But this is not humanly feasible, so we have to manage the process. This talk sheds a little more light on that.
Software Ninja • Building solutions that make life easy & making the world a better place. • Passionate about Data Scraping • Has a weird smile and loves (good) weird stuff.
Think of a bug like weed - a weed is an unwanted plant growing in an unwanted area. A bug sometimes can be a feature but when it’s an unwanted feature it becomes a bug. Bugs can be born of inconsistencies or lack of standard; especially in a distributed team.
a bug whose causes are so complex it defies repair, or makes its behavior appear chaotic or even non-deterministic. • Heisenbug: Disappears when you try to investigate it, comes bas when you’re not looking • Schrödinbug: a bug that manifests itself in running software after a programmer notices that the code should never have worked in the first place. • Bohrbug: a normal bug.
than Cure • Practice OO principles religiously • Single Responsibility is a life saver • Communicate your solutions • Do not over-engineer • Test-Driven Development, TDD