Noassertionsin TestsNo flags todeactivatetriggerdeclarativelyNondescriptivevariablenames in FlowExactly75% testcoverageHard-codedauthenticationinstead ofusing NamedCredentailGetting IDsby loopinstead ofMap(records)Code intriggerinstead ofTriggerHandlerOnly catchinggeneralcatch(Exception)SOQLsin loopExcessiveamount ofSystem.Debug()Hard-codedIDNo checkingcollectionemptinessbefore DMLGiganticFlow insteadof multipleSubflowsNo Test datafactory/builderSOQLwithoutWHERE orLIMIT outsideBatchHard-codingUI textinstead ofCustomLabelsPublicRead/WriteOWDsMethod with100s 'i++'lines for fakecodecoverageMultipletriggerson onesObjectNo FaultPaths inFlowsCallingQueueable inloop withoutcontrolmechanism orloggingDMLsin loopUnjustifiedbig numberof RecordFlows onone sObjectExcessivelack of.startTest()and.stopTest()Noassertionsin TestsNo flags todeactivatetriggerdeclarativelyNondescriptivevariablenames in FlowExactly75% testcoverageHard-codedauthenticationinstead ofusing NamedCredentailGetting IDsby loopinstead ofMap(records)Code intriggerinstead ofTriggerHandlerOnly catchinggeneralcatch(Exception)SOQLsin loopExcessiveamount ofSystem.Debug()Hard-codedIDNo checkingcollectionemptinessbefore DMLGiganticFlow insteadof multipleSubflowsNo Test datafactory/builderSOQLwithoutWHERE orLIMIT outsideBatchHard-codingUI textinstead ofCustomLabelsPublicRead/WriteOWDsMethod with100s 'i++'lines for fakecodecoverageMultipletriggerson onesObjectNo FaultPaths inFlowsCallingQueueable inloop withoutcontrolmechanism orloggingDMLsin loopUnjustifiedbig numberof RecordFlows onone sObjectExcessivelack of.startTest()and.stopTest()

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