Code intriggerinstead ofTriggerHandlerMultipletriggerson onesObjectSOQLsin loopNo flags todeactivatetriggerdeclarativelyHard-codedauthenticationinstead ofusing NamedCredentailGiganticFlow insteadof multipleSubflowsExcessivelack of.startTest()and.stopTest()Noassertionsin TestsMethod with100s 'i++'lines for fakecodecoveragePublicRead/WriteOWDsOnly catchinggeneralcatch(Exception)CallingQueueable inloop withoutcontrolmechanism orloggingNo checkingcollectionemptinessbefore DMLNo Test datafactory/builderDMLsin loopExactly75% testcoverageSOQLwithoutWHERE orLIMIT outsideBatchUnjustifiedbig numberof RecordFlows onone sObjectHard-codedIDNondescriptivevariablenames in FlowGetting IDsby loopinstead ofMap(records)No FaultPaths inFlowsExcessiveamount ofSystem.Debug()Hard-codingUI textinstead ofCustomLabelsCode intriggerinstead ofTriggerHandlerMultipletriggerson onesObjectSOQLsin loopNo flags todeactivatetriggerdeclarativelyHard-codedauthenticationinstead ofusing NamedCredentailGiganticFlow insteadof multipleSubflowsExcessivelack of.startTest()and.stopTest()Noassertionsin TestsMethod with100s 'i++'lines for fakecodecoveragePublicRead/WriteOWDsOnly catchinggeneralcatch(Exception)CallingQueueable inloop withoutcontrolmechanism orloggingNo checkingcollectionemptinessbefore DMLNo Test datafactory/builderDMLsin loopExactly75% testcoverageSOQLwithoutWHERE orLIMIT outsideBatchUnjustifiedbig numberof RecordFlows onone sObjectHard-codedIDNondescriptivevariablenames in FlowGetting IDsby loopinstead ofMap(records)No FaultPaths inFlowsExcessiveamount ofSystem.Debug()Hard-codingUI textinstead ofCustomLabels

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