No testdatafactory orbuilderDMLsin loopSOQLsin loopHard-codedIDNon‑descriptivevariable namesin FlowMissingbulk testsin testclassesExcessivelack of.startTest()and.stopTest()Noassertionsin TestsAll classes inwithout sharingmodeNo flags todeactivatetrigger andvalidation rulesdeclarativelyExactly75% testcoveragePublicRead/WriteOWDsSOQLswithoutWHERE orLIMIT outsideBatchCheckingcollectionemptinessbefore DMLHard-codedauthenticationinstead ofusing NamedCredentialsExcessiveamount ofSystem.Debug()UsingProfilesinstead ofPermissionSetsMultiple RecordTriggeredFlows on sameOperationTypeon one sObjectOnlycatchinggeneralException intry-catchGetting IDsby loopinstead ofMap(records)Code intriggerinstead ofTriggerHandlerNo FaultPaths inFlowsMultipletriggerson onesObjectGiganticFlow insteadof multipleSubflowsNo testdatafactory orbuilderDMLsin loopSOQLsin loopHard-codedIDNon‑descriptivevariable namesin FlowMissingbulk testsin testclassesExcessivelack of.startTest()and.stopTest()Noassertionsin TestsAll classes inwithout sharingmodeNo flags todeactivatetrigger andvalidation rulesdeclarativelyExactly75% testcoveragePublicRead/WriteOWDsSOQLswithoutWHERE orLIMIT outsideBatchCheckingcollectionemptinessbefore DMLHard-codedauthenticationinstead ofusing NamedCredentialsExcessiveamount ofSystem.Debug()UsingProfilesinstead ofPermissionSetsMultiple RecordTriggeredFlows on sameOperationTypeon one sObjectOnlycatchinggeneralException intry-catchGetting IDsby loopinstead ofMap(records)Code intriggerinstead ofTriggerHandlerNo FaultPaths inFlowsMultipletriggerson onesObjectGiganticFlow 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 test data factory or builder
  2. DMLs in loop
  3. SOQLs in loop
  4. Hard-coded ID
  5. Non‑descriptive variable names in Flow
  6. Missing bulk tests in test classes
  7. Excessive lack of .startTest() and .stopTest()
  8. No assertions in Tests
  9. All classes in without sharing mode
  10. No flags to deactivate trigger and validation rules declaratively
  11. Exactly 75% test coverage
  12. Public Read/Write OWDs
  13. SOQLs without WHERE or LIMIT outside Batch
  14. Checking collection emptiness before DML
  15. Hard-coded authentication instead of using Named Credentials
  16. Excessive amount of System.Debug()
  17. Using Profiles instead of Permission Sets
  18. Multiple Record Triggered Flows on same OperationType on one sObject
  19. Only catching general Exception in try-catch
  20. Getting IDs by loop instead of Map(records)
  21. Code in trigger instead of Trigger Handler
  22. No Fault Paths in Flows
  23. Multiple triggers on one sObject
  24. Gigantic Flow instead of multiple Subflows