Dozens ofincrediblyspecificfieldsBanana andVoucherworkaroundis still thereStatuseffects arestill traitsExpensivestringconcatenationin a loopDataclumpsStart(),Start2(),Start3(),StartReal(),StartReal2()Vehicle is asubclass of Agent——— OR ———Agents AREvehiclesA methodwith 10+parametersUnrelatedcodeRelationshipsstill use bothstrings andenumsInefficientvectormathOptimization-blocking for-loop over acollectionstored in a fieldSwitchstatementon directionstringisAgent, isItem,isFire, isBullet,isObjectRealfieldsLockeddoors arestill one-directionalImproper listpopulationw/ excessivecopyingRandom-Selectionis stillridiculous24directionsarestringsUndisclosedexceptionsBinaryserializationrealName,realName2,fakeActiveLoop-switchsequenceCustomlocalizationproblemsEnormousif-chainsprite,spriteH,spriteWB,spriteWBHGiganticswitch‑casew/ stringsVirtualmethods thatshould havebeeninterfacesX and Yinstead ofVector2tk2dDozens ofincrediblyspecificfieldsBanana andVoucherworkaroundis still thereStatuseffects arestill traitsExpensivestringconcatenationin a loopDataclumpsStart(),Start2(),Start3(),StartReal(),StartReal2()Vehicle is asubclass of Agent——— OR ———Agents AREvehiclesA methodwith 10+parametersUnrelatedcodeRelationshipsstill use bothstrings andenumsInefficientvectormathOptimization-blocking for-loop over acollectionstored in a fieldSwitchstatementon directionstringisAgent, isItem,isFire, isBullet,isObjectRealfieldsLockeddoors arestill one-directionalImproper listpopulationw/ excessivecopyingRandom-Selectionis stillridiculous24directionsarestringsUndisclosedexceptionsBinaryserializationrealName,realName2,fakeActiveLoop-switchsequenceCustomlocalizationproblemsEnormousif-chainsprite,spriteH,spriteWB,spriteWBHGiganticswitch‑casew/ stringsVirtualmethods thatshould havebeeninterfacesX and Yinstead ofVector2tk2d

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