Excessiveamount ofSystem.Debug()SOQLwithoutWHERE orLIMIT outsideBatchNo flags todeactivatetriggerdeclarativelyMultipletriggerson onesObjectCode intriggerinstead ofTriggerHandlerNoassertionsin TestsNo Test datafactory/builderHard-codingUI textinstead ofCustomLabelsCallingQueueable inloop withoutcontrolmechanism orloggingNondescriptivevariablenames in FlowExcessivelack of.startTest()and.stopTest()Exactly75% testcoverageUnjustifiedbig numberof RecordFlows onone sObjectSOQLsin loopMethod with100s 'i++'lines for fakecodecoverageNo FaultPaths inFlowsPublicRead/WriteOWDsHard-codedIDNo checkingcollectionemptinessbefore DMLDMLsin loopGetting IDsby loopinstead ofMap(records)Only catchinggeneralcatch(Exception)GiganticFlow insteadof multipleSubflowsHard-codedauthenticationinstead ofusing NamedCredentailExcessiveamount ofSystem.Debug()SOQLwithoutWHERE orLIMIT outsideBatchNo flags todeactivatetriggerdeclarativelyMultipletriggerson onesObjectCode intriggerinstead ofTriggerHandlerNoassertionsin TestsNo Test datafactory/builderHard-codingUI textinstead ofCustomLabelsCallingQueueable inloop withoutcontrolmechanism orloggingNondescriptivevariablenames in FlowExcessivelack of.startTest()and.stopTest()Exactly75% testcoverageUnjustifiedbig numberof RecordFlows onone sObjectSOQLsin loopMethod with100s 'i++'lines for fakecodecoverageNo FaultPaths inFlowsPublicRead/WriteOWDsHard-codedIDNo checkingcollectionemptinessbefore DMLDMLsin loopGetting IDsby loopinstead ofMap(records)Only catchinggeneralcatch(Exception)GiganticFlow insteadof multipleSubflowsHard-codedauthenticationinstead ofusing NamedCredentail

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