UsingProfilesinstead ofPermissionSetsMissingbulk testsin testclassesMultipletriggerson onesObjectExcessivelack of.startTest()and.stopTest()Multiple RecordTriggeredFlows on sameOperationTypeon one sObjectGetting IDsby loopinstead ofMap(records)Hard-codedIDAll classes inwithout sharingmodeExactly75% testcoverageSOQLswithoutWHERE orLIMIT outsideBatchNo testdatafactory orbuilderOnlycatchinggeneralException intry-catchSOQLsin loopHard-codedauthenticationinstead ofusing NamedCredentialsNon‑descriptivevariable namesin FlowCode intriggerinstead ofTriggerHandlerCheckingcollectionemptinessbefore DMLGiganticFlow insteadof multipleSubflowsDMLsin loopNoassertionsin TestsNo flags todeactivatetrigger andvalidation rulesdeclarativelyNo FaultPaths inFlowsPublicRead/WriteOWDsExcessiveamount ofSystem.Debug()UsingProfilesinstead ofPermissionSetsMissingbulk testsin testclassesMultipletriggerson onesObjectExcessivelack of.startTest()and.stopTest()Multiple RecordTriggeredFlows on sameOperationTypeon one sObjectGetting IDsby loopinstead ofMap(records)Hard-codedIDAll classes inwithout sharingmodeExactly75% testcoverageSOQLswithoutWHERE orLIMIT outsideBatchNo testdatafactory orbuilderOnlycatchinggeneralException intry-catchSOQLsin loopHard-codedauthenticationinstead ofusing NamedCredentialsNon‑descriptivevariable namesin FlowCode intriggerinstead ofTriggerHandlerCheckingcollectionemptinessbefore DMLGiganticFlow insteadof multipleSubflowsDMLsin loopNoassertionsin TestsNo flags todeactivatetrigger andvalidation rulesdeclarativelyNo FaultPaths inFlowsPublicRead/WriteOWDsExcessiveamount ofSystem.Debug()

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