GiganticFlow insteadof multipleSubflowsExactly75% testcoverageUnjustifiedbig numberof RecordFlows onone sObjectCallingQueueable inloop withoutcontrolmechanism orloggingSOQLwithoutWHERE orLIMIT outsideBatchPublicRead/WriteOWDsExcessiveamount ofSystem.Debug()SOQLsin loopDMLsin loopMultipletriggerson onesObjectHard-codingUI textinstead ofCustomLabelsHard-codedauthenticationinstead ofusing NamedCredentailMethod with100s 'i++'lines for fakecodecoverageNondescriptivevariablenames in FlowNo FaultPaths inFlowsOnly catchinggeneralcatch(Exception)No flags todeactivatetriggerdeclarativelyExcessivelack of.startTest()and.stopTest()Getting IDsby loopinstead ofMap(records)Hard-codedIDNoassertionsin TestsNo Test datafactory/builderNo checkingcollectionemptinessbefore DMLCode intriggerinstead ofTriggerHandlerGiganticFlow insteadof multipleSubflowsExactly75% testcoverageUnjustifiedbig numberof RecordFlows onone sObjectCallingQueueable inloop withoutcontrolmechanism orloggingSOQLwithoutWHERE orLIMIT outsideBatchPublicRead/WriteOWDsExcessiveamount ofSystem.Debug()SOQLsin loopDMLsin loopMultipletriggerson onesObjectHard-codingUI textinstead ofCustomLabelsHard-codedauthenticationinstead ofusing NamedCredentailMethod with100s 'i++'lines for fakecodecoverageNondescriptivevariablenames in FlowNo FaultPaths inFlowsOnly catchinggeneralcatch(Exception)No flags todeactivatetriggerdeclarativelyExcessivelack of.startTest()and.stopTest()Getting IDsby loopinstead ofMap(records)Hard-codedIDNoassertionsin TestsNo Test datafactory/builderNo checkingcollectionemptinessbefore DMLCode intriggerinstead ofTriggerHandler

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