Optimization-blocking for-loop over acollectionstored in a fieldGiganticswitch‑casew/ stringsStart(),Start2(),Start3(),StartReal(),StartReal2()Virtualmethods thatshould havebeeninterfaces24directionsarestringsBanana andVoucherworkaroundis still thereStatuseffects arestill traitsUndisclosedexceptionsSwitchstatementon directionstringrealName,realName2,fakeActiveInefficientvectormathX and Yinstead ofVector2Loop-switchsequenceisAgent, isItem,isFire, isBullet,isObjectRealfieldsLockeddoors arestill one-directionalUnrelatedcodeA methodwith 10+parametersVehicle is asubclass of Agent——— OR ———Agents AREvehiclesEnormousif-chainDataclumpsRandom-Selectionis stillridiculousDozens ofincrediblyspecificfieldsExpensivestringconcatenationin a loopRelationshipsstill use bothstrings andenumssprite,spriteH,spriteWB,spriteWBHtk2dBinaryserializationImproper listpopulationw/ excessivecopyingCustomlocalizationproblemsOptimization-blocking for-loop over acollectionstored in a fieldGiganticswitch‑casew/ stringsStart(),Start2(),Start3(),StartReal(),StartReal2()Virtualmethods thatshould havebeeninterfaces24directionsarestringsBanana andVoucherworkaroundis still thereStatuseffects arestill traitsUndisclosedexceptionsSwitchstatementon directionstringrealName,realName2,fakeActiveInefficientvectormathX and Yinstead ofVector2Loop-switchsequenceisAgent, isItem,isFire, isBullet,isObjectRealfieldsLockeddoors arestill one-directionalUnrelatedcodeA methodwith 10+parametersVehicle is asubclass of Agent——— OR ———Agents AREvehiclesEnormousif-chainDataclumpsRandom-Selectionis stillridiculousDozens ofincrediblyspecificfieldsExpensivestringconcatenationin a loopRelationshipsstill use bothstrings andenumssprite,spriteH,spriteWB,spriteWBHtk2dBinaryserializationImproper listpopulationw/ excessivecopyingCustomlocalizationproblems

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