3 ms·
I dealt with one bug that was broken on 8 different points until it looked like another bug. It was paginated content. It would download a page in one class, c
by muzani 5y ago
I dealt with one bug that was broken on 8 different points until it looked like another bug.
It was paginated content. It would download a page in one class, concatenate it to the existing content. It then sent that page to the view class, which adds it to the bottom of the list.
This would make duplicate content, e.g. ABCDABCDEFGABC... instead of ABCDEFG. Someone had the brilliant idea of filtering new content from the existing ones. So it would be ABCD+(ABCDEFG-ABCD).
So for the most part it worked exactly as planned. But then there would be a point where the app modified data locally. Say, you add a comment on B. B becomes b. Now you have AbCD+(ABCDEFG-AbCD)= AbCDBEFG. Oops.
In the real world, this was done over so many classes, superclasses and so on that it wasn't clear why it was randomly inserting B at certain points, and at which points it was doing this. The behavior performed exactly as tested, but it was just poorly designed behavior and we ended up spending a few weeks ripping out and rewriting the code for this.
- carlmr 5y ago>In the real world, this was done over so many classes, superclasses and so on that it wasn't clear why it was randomly inserting B at certain points, and at which points it was doing this. If OOP gave us anything it's the joy of trying to piece together huge puzzles.
- wizzwizz4 5y agoMonolithic hell: 40 bugs in three files. Classes hell: three bugs in 40 files.