Optimization-blocking for-loop over acollectionstored in a fieldGiganticswitch‑casew/ stringsBinaryserializationVirtualmethods thatshould havebeeninterfacesUnrelatedcoderealName,realName2,fakeActiveCustomlocalizationproblemsA methodwith 10+parametersisAgent, isItem,isFire, isBullet,isObjectRealfieldsX and Yinstead ofVector2sprite,spriteH,spriteWB,spriteWBHSwitchstatementon directionstringInefficientvectormathDozens ofincrediblyspecificfieldstk2dVehicle is asubclass of Agent——— OR ———Agents AREvehicles24directionsarestringsStart(),Start2(),Start3(),StartReal(),StartReal2()Random-Selectionis stillridiculousLockeddoors arestill one-directionalLoop-switchsequenceExpensivestringconcatenationin a loopDataclumpsStatuseffects arestill traitsRelationshipsstill use bothstrings andenumsBanana andVoucherworkaroundis still thereEnormousif-chainImproper listpopulationw/ excessivecopyingUndisclosedexceptionsOptimization-blocking for-loop over acollectionstored in a fieldGiganticswitch‑casew/ stringsBinaryserializationVirtualmethods thatshould havebeeninterfacesUnrelatedcoderealName,realName2,fakeActiveCustomlocalizationproblemsA methodwith 10+parametersisAgent, isItem,isFire, isBullet,isObjectRealfieldsX and Yinstead ofVector2sprite,spriteH,spriteWB,spriteWBHSwitchstatementon directionstringInefficientvectormathDozens ofincrediblyspecificfieldstk2dVehicle is asubclass of Agent——— OR ———Agents AREvehicles24directionsarestringsStart(),Start2(),Start3(),StartReal(),StartReal2()Random-Selectionis stillridiculousLockeddoors arestill one-directionalLoop-switchsequenceExpensivestringconcatenationin a loopDataclumpsStatuseffects arestill traitsRelationshipsstill use bothstrings andenumsBanana andVoucherworkaroundis still thereEnormousif-chainImproper listpopulationw/ excessivecopyingUndisclosedexceptions

SoR2's code (Evil side) - Call List

(Print) Use this randomly generated list as your call list when playing the game. There is no need to say the BINGO column name. Place some kind of mark (like an X, a checkmark, a dot, tally mark, etc) on each cell as you announce it, to keep track. You can also cut out each item, place them in a bag and pull words from the bag.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
  1. Optimization-blocking for-loop over a collection stored in a field
  2. Gigantic switch‑case w/ strings
  3. Binary serialization
  4. Virtual methods that should have been interfaces
  5. Unrelated code
  6. realName, realName2, fakeActive
  7. Custom localization problems
  8. A method with 10+ parameters
  9. isAgent, isItem, isFire, isBullet, isObjectReal fields
  10. X and Y instead of Vector2
  11. sprite, spriteH, spriteWB, spriteWBH
  12. Switch statement on direction string
  13. Inefficient vector math
  14. Dozens of incredibly specific fields
  15. tk2d
  16. Vehicle is a subclass of Agent ——— OR ——— Agents ARE vehicles
  17. 24 directions are strings
  18. Start(), Start2(), Start3(), StartReal(), StartReal2()
  19. Random-Selection is still ridiculous
  20. Locked doors are still one-directional
  21. Loop-switch sequence
  22. Expensive string concatenation in a loop
  23. Data clumps
  24. Status effects are still traits
  25. Relationships still use both strings and enums
  26. Banana and Voucher workaround is still there
  27. Enormous if-chain
  28. Improper list population w/ excessive copying
  29. Undisclosed exceptions