Noassertionsin TestsMethod with100s 'i++'lines for fakecodecoverageSOQLsin loopUnjustifiedbig numberof RecordFlows onone sObjectOnly catchinggeneralcatch(Exception)Hard-codingUI textinstead ofCustomLabelsNo FaultPaths inFlowsHard-codedIDGetting IDsby loopinstead ofMap(records)DMLsin loopPublicRead/WriteOWDsCode intriggerinstead ofTriggerHandlerSOQLwithoutWHERE orLIMIT outsideBatchExcessivelack of.startTest()and.stopTest()Excessiveamount ofSystem.Debug()GiganticFlow insteadof multipleSubflowsExactly75% testcoverageMultipletriggerson onesObjectNo flags todeactivatetriggerdeclarativelyNo checkingcollectionemptinessbefore DMLNondescriptivevariablenames in FlowNo Test datafactory/builderHard-codedauthenticationinstead ofusing NamedCredentailCallingQueueable inloop withoutcontrolmechanism orloggingNoassertionsin TestsMethod with100s 'i++'lines for fakecodecoverageSOQLsin loopUnjustifiedbig numberof RecordFlows onone sObjectOnly catchinggeneralcatch(Exception)Hard-codingUI textinstead ofCustomLabelsNo FaultPaths inFlowsHard-codedIDGetting IDsby loopinstead ofMap(records)DMLsin loopPublicRead/WriteOWDsCode intriggerinstead ofTriggerHandlerSOQLwithoutWHERE orLIMIT outsideBatchExcessivelack of.startTest()and.stopTest()Excessiveamount ofSystem.Debug()GiganticFlow insteadof multipleSubflowsExactly75% testcoverageMultipletriggerson onesObjectNo flags todeactivatetriggerdeclarativelyNo checkingcollectionemptinessbefore DMLNondescriptivevariablenames in FlowNo Test datafactory/builderHard-codedauthenticationinstead ofusing NamedCredentailCallingQueueable inloop withoutcontrolmechanism orlogging

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