Nondescriptivevariablenames in FlowDMLsin loopCallingQueueable inloop withoutcontrolmechanism orloggingHard-codedIDUnjustifiedbig numberof RecordFlows onone sObjectGetting IDsby loopinstead ofMap(records)PublicRead/WriteOWDsGiganticFlow insteadof multipleSubflowsNoassertionsin TestsNo checkingcollectionemptinessbefore DMLHard-codingUI textinstead ofCustomLabelsOnly catchinggeneralcatch(Exception)No FaultPaths inFlowsCode intriggerinstead ofTriggerHandlerSOQLsin loopMethod with100s 'i++'lines for fakecodecoverageHard-codedauthenticationinstead ofusing NamedCredentailMultipletriggerson onesObjectExactly75% testcoverageSOQLwithoutWHERE orLIMIT outsideBatchNo flags todeactivatetriggerdeclarativelyExcessivelack of.startTest()and.stopTest()Excessiveamount ofSystem.Debug()No Test datafactory/builderNondescriptivevariablenames in FlowDMLsin loopCallingQueueable inloop withoutcontrolmechanism orloggingHard-codedIDUnjustifiedbig numberof RecordFlows onone sObjectGetting IDsby loopinstead ofMap(records)PublicRead/WriteOWDsGiganticFlow insteadof multipleSubflowsNoassertionsin TestsNo checkingcollectionemptinessbefore DMLHard-codingUI textinstead ofCustomLabelsOnly catchinggeneralcatch(Exception)No FaultPaths inFlowsCode intriggerinstead ofTriggerHandlerSOQLsin loopMethod with100s 'i++'lines for fakecodecoverageHard-codedauthenticationinstead ofusing NamedCredentailMultipletriggerson onesObjectExactly75% testcoverageSOQLwithoutWHERE orLIMIT outsideBatchNo flags todeactivatetriggerdeclarativelyExcessivelack of.startTest()and.stopTest()Excessiveamount ofSystem.Debug()No Test datafactory/builder

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