Getting IDsby loopinstead ofMap(records)SOQLswithoutWHERE orLIMIT outsideBatchMultiple RecordTriggeredFlows on sameOperationTypeon one sObjectNoassertionsin TestsNo flags todeactivatetrigger andvalidation rulesdeclarativelyNo testdatafactory orbuilderExactly75% testcoveragePublicRead/WriteOWDsMultipletriggerson onesObjectUsingProfilesinstead ofPermissionSetsNo FaultPaths inFlowsHard-codedIDExcessiveamount ofSystem.Debug()DMLsin loopAll classes inwithout sharingmodeExcessivelack of.startTest()and.stopTest()Checkingcollectionemptinessbefore DMLNon‑descriptivevariable namesin FlowSOQLsin loopMissingbulk testsin testclassesCode intriggerinstead ofTriggerHandlerOnlycatchinggeneralException intry-catchHard-codedauthenticationinstead ofusing NamedCredentialsGiganticFlow insteadof multipleSubflowsGetting IDsby loopinstead ofMap(records)SOQLswithoutWHERE orLIMIT outsideBatchMultiple RecordTriggeredFlows on sameOperationTypeon one sObjectNoassertionsin TestsNo flags todeactivatetrigger andvalidation rulesdeclarativelyNo testdatafactory orbuilderExactly75% testcoveragePublicRead/WriteOWDsMultipletriggerson onesObjectUsingProfilesinstead ofPermissionSetsNo FaultPaths inFlowsHard-codedIDExcessiveamount ofSystem.Debug()DMLsin loopAll classes inwithout sharingmodeExcessivelack of.startTest()and.stopTest()Checkingcollectionemptinessbefore DMLNon‑descriptivevariable namesin FlowSOQLsin loopMissingbulk testsin testclassesCode intriggerinstead ofTriggerHandlerOnlycatchinggeneralException intry-catchHard-codedauthenticationinstead ofusing NamedCredentialsGiganticFlow 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. Getting IDs by loop instead of Map(records)
  2. SOQLs without WHERE or LIMIT outside Batch
  3. Multiple Record Triggered Flows on same OperationType on one sObject
  4. No assertions in Tests
  5. No flags to deactivate trigger and validation rules declaratively
  6. No test data factory or builder
  7. Exactly 75% test coverage
  8. Public Read/Write OWDs
  9. Multiple triggers on one sObject
  10. Using Profiles instead of Permission Sets
  11. No Fault Paths in Flows
  12. Hard-coded ID
  13. Excessive amount of System.Debug()
  14. DMLs in loop
  15. All classes in without sharing mode
  16. Excessive lack of .startTest() and .stopTest()
  17. Checking collection emptiness before DML
  18. Non‑descriptive variable names in Flow
  19. SOQLs in loop
  20. Missing bulk tests in test classes
  21. Code in trigger instead of Trigger Handler
  22. Only catching general Exception in try-catch
  23. Hard-coded authentication instead of using Named Credentials
  24. Gigantic Flow instead of multiple Subflows