Prove Your Code Works: How to Communicate Quality

Prove Your Code Works: How to Communicate Quality

Professionalism has two core features, expertise and guarantees. This talk delves into the topic of observability and how professional software developers can guarantee their software works and communicate this to others. It covers the checks to make, the metrics to collect and the documentation to write so developers can prove code works.

99a446aac48cfaf36593646d5565a830?s=128

Rob Waller

June 03, 2020
Tweet

Transcript

  1. W: rbrt.wllr.info | T: @RobDWaller Prove Your Code Works How

    to Communicate Quality
  2. W: rbrt.wllr.info | T: @RobDWaller Hello! Rob Waller, Aylesbury UK

    Roles: Developer, Manager, Architect. Languages: PHP, JavaScript, Rust. Work: ReallySimpleJWT, csp_generator. Home: 1x , 2x
  3. W: rbrt.wllr.info | T: @RobDWaller What is Professionalism? Expertise Guarantees

  4. W: rbrt.wllr.info | T: @RobDWaller

  5. W: rbrt.wllr.info | T: @RobDWaller Checks Metrics Documentation

  6. W: rbrt.wllr.info | T: @RobDWaller

  7. W: rbrt.wllr.info | T: @RobDWaller

  8. W: rbrt.wllr.info | T: @RobDWaller

  9. W: rbrt.wllr.info | T: @RobDWaller Mutation Tests Fault Injection Failing

    Tests Effective Tests Infection PHP Stryker
  10. W: rbrt.wllr.info | T: @RobDWaller

  11. W: rbrt.wllr.info | T: @RobDWaller

  12. W: rbrt.wllr.info | T: @RobDWaller

  13. W: rbrt.wllr.info | T: @RobDWaller

  14. W: rbrt.wllr.info | T: @RobDWaller

  15. W: rbrt.wllr.info | T: @RobDWaller

  16. W: rbrt.wllr.info | T: @RobDWaller

  17. W: rbrt.wllr.info | T: @RobDWaller

  18. W: rbrt.wllr.info | T: @RobDWaller

  19. W: rbrt.wllr.info | T: @RobDWaller Code Validity

  20. W: rbrt.wllr.info | T: @RobDWaller

  21. W: rbrt.wllr.info | T: @RobDWaller

  22. W: rbrt.wllr.info | T: @RobDWaller

  23. W: rbrt.wllr.info | T: @RobDWaller

  24. W: rbrt.wllr.info | T: @RobDWaller

  25. W: rbrt.wllr.info | T: @RobDWaller LOC

  26. W: rbrt.wllr.info | T: @RobDWaller Cyclomatic Complexity N-Path Complexity

  27. W: rbrt.wllr.info | T: @RobDWaller CRAP

  28. W: rbrt.wllr.info | T: @RobDWaller

  29. W: rbrt.wllr.info | T: @RobDWaller

  30. W: rbrt.wllr.info | T: @RobDWaller

  31. W: rbrt.wllr.info | T: @RobDWaller Major.Minor.Patch

  32. W: rbrt.wllr.info | T: @RobDWaller Release Notes!!

  33. W: rbrt.wllr.info | T: @RobDWaller READMEs Introduction Installation Setup Basic

    Usage Advanced Usage
  34. W: rbrt.wllr.info | T: @RobDWaller

  35. W: rbrt.wllr.info | T: @RobDWaller Communicate Quality Run Checks Track

    Metrics Write Documentation
  36. W: rbrt.wllr.info | T: @RobDWaller Useful Tools & Links Mutation

    Tests Infection PHP: https://infection.github.io/guide/ Stryker: https://stryker-mutator.io/ Mess Detection PHPMD: https://phpmd.org/ ESLint: https://eslint.org/docs/rules/complexity Lines of Code PHPLOC: https://packagist.org/packages/phploc/phploc CRAP Index PHPUnit: https://phpunit.readthedocs.io/en/9.1/code- coverage-analysis.html Semantic Versioning https://semver.org/ Code Validity PHPStan: https://phpstan.org/ Psalm: https://psalm.dev/ TypeScript: https://www.typescriptlang.org/ Code Coverage CodeCov: https://codecov.io/ Coveralls: https://coveralls.io/
  37. W: rbrt.wllr.info | T: @RobDWaller T: @RobDWaller W: rbrt.wllr.info GH:

    RobDWaller