No flags todeactivatetrigger andvalidation rulesdeclarativelyAll classes inwithout sharingmodeNoassertionsin TestsPublicRead/WriteOWDsCode intriggerinstead ofTriggerHandlerMultipletriggerson onesObjectExcessivelack of.startTest()and.stopTest()Hard-codedIDGetting IDsby loopinstead ofMap(records)SOQLswithoutWHERE orLIMIT outsideBatchSOQLsin loopDMLsin loopGiganticFlow insteadof multipleSubflowsCheckingcollectionemptinessbefore DMLOnlycatchinggeneralException intry-catchNon‑descriptivevariable namesin FlowHard-codedauthenticationinstead ofusing NamedCredentialsUsingProfilesinstead ofPermissionSetsMultiple RecordTriggeredFlows on sameOperationTypeon one sObjectMissingbulk testsin testclassesNo FaultPaths inFlowsExcessiveamount ofSystem.Debug()Exactly75% testcoverageNo testdatafactory orbuilderNo flags todeactivatetrigger andvalidation rulesdeclarativelyAll classes inwithout sharingmodeNoassertionsin TestsPublicRead/WriteOWDsCode intriggerinstead ofTriggerHandlerMultipletriggerson onesObjectExcessivelack of.startTest()and.stopTest()Hard-codedIDGetting IDsby loopinstead ofMap(records)SOQLswithoutWHERE orLIMIT outsideBatchSOQLsin loopDMLsin loopGiganticFlow insteadof multipleSubflowsCheckingcollectionemptinessbefore DMLOnlycatchinggeneralException intry-catchNon‑descriptivevariable namesin FlowHard-codedauthenticationinstead ofusing NamedCredentialsUsingProfilesinstead ofPermissionSetsMultiple RecordTriggeredFlows on sameOperationTypeon one sObjectMissingbulk testsin testclassesNo FaultPaths inFlowsExcessiveamount ofSystem.Debug()Exactly75% testcoverageNo testdatafactory orbuilder

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