Method with100s 'i++'lines for fakecodecoverageExcessivelack of.startTest()and.stopTest()PublicRead/WriteOWDsHard-codedauthenticationinstead ofusing NamedCredentailSOQLwithoutWHERE orLIMIT outsideBatchDMLsin loopHard-codingUI textinstead ofCustomLabelsGetting IDsby loopinstead ofMap(records)Noassertionsin TestsMultipletriggerson onesObjectNo checkingcollectionemptinessbefore DMLExcessiveamount ofSystem.Debug()Nondescriptivevariablenames in FlowNo FaultPaths inFlowsCode intriggerinstead ofTriggerHandlerOnly catchinggeneralcatch(Exception)GiganticFlow insteadof multipleSubflowsUnjustifiedbig numberof RecordFlows onone sObjectExactly75% testcoverageSOQLsin loopNo flags todeactivatetriggerdeclarativelyCallingQueueable inloop withoutcontrolmechanism orloggingNo Test datafactory/builderHard-codedIDMethod with100s 'i++'lines for fakecodecoverageExcessivelack of.startTest()and.stopTest()PublicRead/WriteOWDsHard-codedauthenticationinstead ofusing NamedCredentailSOQLwithoutWHERE orLIMIT outsideBatchDMLsin loopHard-codingUI textinstead ofCustomLabelsGetting IDsby loopinstead ofMap(records)Noassertionsin TestsMultipletriggerson onesObjectNo checkingcollectionemptinessbefore DMLExcessiveamount ofSystem.Debug()Nondescriptivevariablenames in FlowNo FaultPaths inFlowsCode intriggerinstead ofTriggerHandlerOnly catchinggeneralcatch(Exception)GiganticFlow insteadof multipleSubflowsUnjustifiedbig numberof RecordFlows onone sObjectExactly75% testcoverageSOQLsin loopNo flags todeactivatetriggerdeclarativelyCallingQueueable inloop withoutcontrolmechanism orloggingNo Test datafactory/builderHard-codedID

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