No checkingcollectionemptinessbefore DMLNo Test datafactory/builderSOQLwithoutWHERE orLIMIT outsideBatchHard-codedauthenticationinstead ofusing NamedCredentailExcessivelack of.startTest()and.stopTest()No FaultPaths inFlowsHard-codedIDExactly75% testcoveragePublicRead/WriteOWDsCallingQueueable inloop withoutcontrolmechanism orloggingDMLsin loopHard-codingUI textinstead ofCustomLabelsSOQLsin loopMultipletriggerson onesObjectMethod with100s 'i++'lines for fakecodecoverageExcessiveamount ofSystem.Debug()Nondescriptivevariablenames in FlowOnly catchinggeneralcatch(Exception)Unjustifiedbig numberof RecordFlows onone sObjectCode intriggerinstead ofTriggerHandlerGetting IDsby loopinstead ofMap(records)Noassertionsin TestsNo flags todeactivatetriggerdeclarativelyGiganticFlow insteadof multipleSubflowsNo checkingcollectionemptinessbefore DMLNo Test datafactory/builderSOQLwithoutWHERE orLIMIT outsideBatchHard-codedauthenticationinstead ofusing NamedCredentailExcessivelack of.startTest()and.stopTest()No FaultPaths inFlowsHard-codedIDExactly75% testcoveragePublicRead/WriteOWDsCallingQueueable inloop withoutcontrolmechanism orloggingDMLsin loopHard-codingUI textinstead ofCustomLabelsSOQLsin loopMultipletriggerson onesObjectMethod with100s 'i++'lines for fakecodecoverageExcessiveamount ofSystem.Debug()Nondescriptivevariablenames in FlowOnly catchinggeneralcatch(Exception)Unjustifiedbig numberof RecordFlows onone sObjectCode intriggerinstead ofTriggerHandlerGetting IDsby loopinstead ofMap(records)Noassertionsin TestsNo flags todeactivatetriggerdeclarativelyGiganticFlow insteadof multipleSubflows

Salesforce Development Practices Bingo - 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
  1. No checking collection emptiness before DML
  2. No Test data factory/builder
  3. SOQL without WHERE or LIMIT outside Batch
  4. Hard-coded authentication instead of using Named Credentail
  5. Excessive lack of .startTest() and .stopTest()
  6. No Fault Paths in Flows
  7. Hard-coded ID
  8. Exactly 75% test coverage
  9. Public Read/Write OWDs
  10. Calling Queueable in loop without control mechanism or logging
  11. DMLs in loop
  12. Hard-coding UI text instead of Custom Labels
  13. SOQLs in loop
  14. Multiple triggers on one sObject
  15. Method with 100s 'i++' lines for fake code coverage
  16. Excessive amount of System.Debug()
  17. Nondescriptive variable names in Flow
  18. Only catching general catch(Exception)
  19. Unjustified big number of Record Flows on one sObject
  20. Code in trigger instead of Trigger Handler
  21. Getting IDs by loop instead of Map(records)
  22. No assertions in Tests
  23. No flags to deactivate trigger declaratively
  24. Gigantic Flow instead of multiple Subflows