No FaultPaths inFlowsCheckingcollectionemptinessbefore DMLNoassertionsin TestsOnlycatchinggeneralException intry-catchExcessiveamount ofSystem.Debug()Exactly75% testcoverageSOQLswithoutWHERE orLIMIT outsideBatchAll classes inwithout sharingmodeNo testdatafactory orbuilderExcessivelack of.startTest()and.stopTest()UsingProfilesinstead ofPermissionSetsMissingbulk testsin testclassesHard-codedIDPublicRead/WriteOWDsGiganticFlow insteadof multipleSubflowsMultipletriggerson onesObjectCode intriggerinstead ofTriggerHandlerNo flags todeactivatetrigger andvalidation rulesdeclarativelySOQLsin loopHard-codedauthenticationinstead ofusing NamedCredentialsGetting IDsby loopinstead ofMap(records)Non‑descriptivevariable namesin FlowDMLsin loopMultiple RecordTriggeredFlows on sameOperationTypeon one sObjectNo FaultPaths inFlowsCheckingcollectionemptinessbefore DMLNoassertionsin TestsOnlycatchinggeneralException intry-catchExcessiveamount ofSystem.Debug()Exactly75% testcoverageSOQLswithoutWHERE orLIMIT outsideBatchAll classes inwithout sharingmodeNo testdatafactory orbuilderExcessivelack of.startTest()and.stopTest()UsingProfilesinstead ofPermissionSetsMissingbulk testsin testclassesHard-codedIDPublicRead/WriteOWDsGiganticFlow insteadof multipleSubflowsMultipletriggerson onesObjectCode intriggerinstead ofTriggerHandlerNo flags todeactivatetrigger andvalidation rulesdeclarativelySOQLsin loopHard-codedauthenticationinstead ofusing NamedCredentialsGetting IDsby loopinstead ofMap(records)Non‑descriptivevariable namesin FlowDMLsin loopMultiple RecordTriggeredFlows on sameOperationTypeon one sObject

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 Fault Paths in Flows
  2. Checking collection emptiness before DML
  3. No assertions in Tests
  4. Only catching general Exception in try-catch
  5. Excessive amount of System.Debug()
  6. Exactly 75% test coverage
  7. SOQLs without WHERE or LIMIT outside Batch
  8. All classes in without sharing mode
  9. No test data factory or builder
  10. Excessive lack of .startTest() and .stopTest()
  11. Using Profiles instead of Permission Sets
  12. Missing bulk tests in test classes
  13. Hard-coded ID
  14. Public Read/Write OWDs
  15. Gigantic Flow instead of multiple Subflows
  16. Multiple triggers on one sObject
  17. Code in trigger instead of Trigger Handler
  18. No flags to deactivate trigger and validation rules declaratively
  19. SOQLs in loop
  20. Hard-coded authentication instead of using Named Credentials
  21. Getting IDs by loop instead of Map(records)
  22. Non‑descriptive variable names in Flow
  23. DMLs in loop
  24. Multiple Record Triggered Flows on same OperationType on one sObject