How to better maintain your TYPO3 extensions

How to better maintain your TYPO3 extensions

Slides of my talk about tools I recommend to use for maintaining a public TYPO3 extension (PHP project) at TYPO3 Developer Days 2018

F89143f48db7247740df584c635be031?s=128

IchHabRecht

June 24, 2018
Tweet

Transcript

  1. How to better maintain your (public) extensions Nicole Cordes, biz-design,

    TYPO3 Developer Days 2018
  2. LOW HANGING FRUITS

  3. Resource  Example extension EXT:my_skeleton  https://github.com/IchHabRecht/my_skeleton

  4. ENSURE COMPATIBILITY

  5. What  Continuous Integration Service

  6. How  Continuous Integration Service  Basically some kind of

    task runner  You push your code  Your Git server triggers the CI service or server  Your CI service or server builds and tests your code
  7. Examples  Bamboo  Gitlab CI  Jenkins  Travis

    CI
  8. Showcase  Travis CI  https://travis-ci.org  Run PHP linter

    for multiple versions  Extend the setup executing unit and functional tests  Release new versions automatically to TER
  9. UNIFY CODE STYLE

  10. What  Coding Standards Fixer

  11. How  Software or service analyzing your PHP code 

    Define your code styles  Run the tool or trigger the service  Possible triggers  Own task in your CI build/test  Service triggered by a Git push
  12. Examples  PHP Coding Standards Fixer (PHP CS Fixer) 

    PHP_CodeSniffer  StyleCI  Manual: PHPStorm
  13. Showcase  StyleCI  https://styleci.io  Advantage: immediate result 

    Offer a corresponding PHP CS Fixer configuration  Configuration names are nearly identically
  14. INCREASE CODE QUALITY

  15. What  Static Code Analyzer

  16. How  Software analyzing your PHP code  Own metrics

    to parse code and find problems  Your code is not executed  Gets split in an abstract tree of PHP Parser Statements  Different defined checks are executed
  17. Examples  PHP Mess Detector  PHPStan  Psalm 

    SonarQube
  18. Showcase  SonarQube  https://about.sonarcloud.io  Add basic configuration 

    Integrate into Travis CI as own stage
  19. THANK YOU!

  20. Photograph Credits  https://www.pexels.com/photo/grapes-vineyard-vine-purple-grapes-45209/  https://www.flickr.com/photos/andrewfhart/8106189987/in/photostream/  https://de.wikipedia.org/wiki/Datei:Ny_Nordisk_mode,_Catwalk.jpg  https://www.pexels.com/photo/person-filling-up-the-daily-report-schedule-form-

    1001752/  https://pixnio.com/de/sonstiges/code-programmierung-computer-technologie-funktion- befehl  https://www.goodfreephotos.com/ukraine/odessa/city-architecture-in-odessa- ukraine.jpg.php  https://www.pexels.com/photo/black-brick-destroy-hole-82178/