Upgrade to Pro — share decks privately, control downloads, hide ads and more …

DX: Developer eXperience

DX: Developer eXperience

AFSY [Paris] SfPot Juin 2019 @OpenClassrooms

Talk about Developer eXperience.


Olivier Dolbeau

June 26, 2019

More Decks by Olivier Dolbeau

Other Decks in Programming


  1. DX: Developer eXperience AFSY [Paris] SfPot Juin 2019 @OpenClassrooms

  2. What’s DX? DX = Developer eXperience Goal: Increase developpers’s happiness.

  3. DX & Symfony Cause the first time I heard about

    DX, it was in a Symfony blog post.
  4. DX & Symfony Label created on June 2014.

  5. Debug bar! <3

  6. Profiler

  7. Flex

  8. MakerBundle

  9. Symfony Local Web Server

  10. Debug component

  11. Useful commands

  12. More, more, more! • Filter Results in the Web Profiler

    • Allow to Check for Security Even in Pages not Covered by Firewalls • Added a Logout Shortcut in the Toolbar • Show Priorities When Debugging Events • Recursive Directory Loading for Configuration and Routing • Simpler Security Voters • New service to simplify password encoding • Bootstrap form theme • [VarDumper] expand all items of an array • Make debugging typos in tags easier • [DI] Have a better DX for excluded resources • [Messenger] Better error messages when transport is not supported • Improve the way exceptions are listed in the error page • ...
  13. DX in my project

  14. Contextual information Can be so useful...

  15. Quick & simple!

  16. Payment form You also have one on your website right?

  17. Payment form

  18. None
  19. Just copy / past credit cards & promotion codes!

  20. Copy / pasting is great! <3

  21. Need more cards? Just click!

  22. Copy / pasting is great! <3

  23. Login / registration Cause you’ll always use this feature!

  24. A lot of links!!

  25. Just click to login!

  26. Just click to register!

  27. Easy referral!

  28. Referral done!

  29. SEO help SEO is boring, let’s help ourselves!

  30. OK, this page is indexed.

  31. This one is not indexed!

  32. No information...

  33. Everything looks great!

  34. Dump all the things! Yes, I have dump() calls in

    prod It’s (almost) a joke
  35. Subscription page in dashboard

  36. Yes, that’s dump() calls!

  37. New since last month!

  38. Check current member roles

  39. Current subscription information

  40. Still a crappy design! ^^

  41. Let’s see some code!

  42. Somewhere at the end of my layout.

  43. _dev_tools/main.html.twig

  44. _dev_tools/main.html.twig

  45. _dev_tools/main.html.twig

  46. Cards & promotion codes

  47. A few lines of sass...

  48. Enough code!

  49. 1 need = several entry points Thanks @lyrixx for the

    discussion! BONUS
  50. Simple need: Sync users in CRM

  51. From backoffice

  52. From CLI

  53. 1 need = several entry points Murphy’s law is not

    a myth, be prepared. Add debug & simple actions IN YOUR APP. IN YOUR CLI. … Bonus: Decoupling is mandatory! Decoupling is good.
  54. You want a conclusion?

  55. Help yourself! With simple tools, contextual information, debug commands, ...

  56. Thanks a lot! Baptiste, tu me dois une bière !

    (et à Nawo aussi)