Unjustifiedbig numberof RecordFlows onone sObjectNondescriptivevariablenames in FlowDMLsin loopNoassertionsin TestsNo Test datafactory/builderExcessiveamount ofSystem.Debug()Excessivelack of.startTest()and.stopTest()No flags todeactivatetriggerdeclarativelyGiganticFlow insteadof multipleSubflowsMultipletriggerson onesObjectOnly catchinggeneralcatch(Exception)CallingQueueable inloop withoutcontrolmechanism orloggingHard-codedauthenticationinstead ofusing NamedCredentailExactly75% testcoverageCode intriggerinstead ofTriggerHandlerGetting IDsby loopinstead ofMap(records)Hard-codingUI textinstead ofCustomLabelsNo checkingcollectionemptinessbefore DMLMethod with100s 'i++'lines for fakecodecoverageHard-codedIDPublicRead/WriteOWDsSOQLwithoutWHERE orLIMIT outsideBatchNo FaultPaths inFlowsSOQLsin loopUnjustifiedbig numberof RecordFlows onone sObjectNondescriptivevariablenames in FlowDMLsin loopNoassertionsin TestsNo Test datafactory/builderExcessiveamount ofSystem.Debug()Excessivelack of.startTest()and.stopTest()No flags todeactivatetriggerdeclarativelyGiganticFlow insteadof multipleSubflowsMultipletriggerson onesObjectOnly catchinggeneralcatch(Exception)CallingQueueable inloop withoutcontrolmechanism orloggingHard-codedauthenticationinstead ofusing NamedCredentailExactly75% testcoverageCode intriggerinstead ofTriggerHandlerGetting IDsby loopinstead ofMap(records)Hard-codingUI textinstead ofCustomLabelsNo checkingcollectionemptinessbefore DMLMethod with100s 'i++'lines for fakecodecoverageHard-codedIDPublicRead/WriteOWDsSOQLwithoutWHERE orLIMIT outsideBatchNo FaultPaths inFlowsSOQLsin loop

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. Unjustified big number of Record Flows on one sObject
  2. Nondescriptive variable names in Flow
  3. DMLs in loop
  4. No assertions in Tests
  5. No Test data factory/builder
  6. Excessive amount of System.Debug()
  7. Excessive lack of .startTest() and .stopTest()
  8. No flags to deactivate trigger declaratively
  9. Gigantic Flow instead of multiple Subflows
  10. Multiple triggers on one sObject
  11. Only catching general catch(Exception)
  12. Calling Queueable in loop without control mechanism or logging
  13. Hard-coded authentication instead of using Named Credentail
  14. Exactly 75% test coverage
  15. Code in trigger instead of Trigger Handler
  16. Getting IDs by loop instead of Map(records)
  17. Hard-coding UI text instead of Custom Labels
  18. No checking collection emptiness before DML
  19. Method with 100s 'i++' lines for fake code coverage
  20. Hard-coded ID
  21. Public Read/Write OWDs
  22. SOQL without WHERE or LIMIT outside Batch
  23. No Fault Paths in Flows
  24. SOQLs in loop