$30 off During Our Annual Pro Sale. View Details »

DX: Developer eXperience

DX: Developer eXperience

AFSY [Paris] SfPot Juin 2019 @OpenClassrooms

Talk about Developer eXperience.

Olivier Dolbeau

June 26, 2019
Tweet

More Decks by Olivier Dolbeau

Other Decks in Programming

Transcript

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

    View Slide

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

    View Slide

  3. DX & Symfony
    Cause the first time I heard about DX, it was in a Symfony blog post.

    View Slide

  4. DX & Symfony
    Label created on June 2014.

    View Slide

  5. Debug bar! <3

    View Slide

  6. Profiler

    View Slide

  7. Flex

    View Slide

  8. MakerBundle

    View Slide

  9. Symfony Local Web Server

    View Slide

  10. Debug component

    View Slide

  11. Useful commands

    View Slide

  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
    ● ...

    View Slide

  13. DX in my project

    View Slide

  14. Contextual information
    Can be so useful...

    View Slide

  15. Quick & simple!

    View Slide

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

    View Slide

  17. Payment form

    View Slide

  18. View Slide

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

    View Slide

  20. Copy / pasting is great! <3

    View Slide

  21. Need more cards? Just click!

    View Slide

  22. Copy / pasting is great! <3

    View Slide

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

    View Slide

  24. A lot of links!!

    View Slide

  25. Just click to login!

    View Slide

  26. Just click to register!

    View Slide

  27. Easy referral!

    View Slide

  28. Referral done!

    View Slide

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

    View Slide

  30. OK, this page is indexed.

    View Slide

  31. This one is not indexed!

    View Slide

  32. No information...

    View Slide

  33. Everything looks great!

    View Slide

  34. Dump all the things!
    Yes, I have dump() calls in prod
    It’s (almost) a joke

    View Slide

  35. Subscription page in dashboard

    View Slide

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

    View Slide

  37. New since last month!

    View Slide

  38. Check current member roles

    View Slide

  39. Current subscription information

    View Slide

  40. Still a crappy design! ^^

    View Slide

  41. Let’s see some code!

    View Slide

  42. Somewhere at the end of my layout.

    View Slide

  43. _dev_tools/main.html.twig

    View Slide

  44. _dev_tools/main.html.twig

    View Slide

  45. _dev_tools/main.html.twig

    View Slide

  46. Cards & promotion codes

    View Slide

  47. A few lines of sass...

    View Slide

  48. Enough code!

    View Slide

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

    View Slide

  50. Simple need: Sync users in CRM

    View Slide

  51. From backoffice

    View Slide

  52. From CLI

    View Slide

  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.

    View Slide

  54. You want a conclusion?

    View Slide

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

    View Slide

  56. Thanks a lot!
    Baptiste, tu me dois une
    bière !
    (et à Nawo aussi)

    View Slide