Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Il nostro amico Stan

106 views

Published on

PUG Roma maggio 2019

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Il nostro amico Stan

  1. 1. Il nostro amico Stan PUG Roma 28 maggio 2019 Massimiliano Arione
  2. 2. Stan chi?
  3. 3. Static analysis
  4. 4. Static analysis
  5. 5. Static analysis
  6. 6. Cosa?
  7. 7. Toolz!
  8. 8. https://packagist.org/explore/?tags=analysis
  9. 9. ✔ check ● Esistenza di classi usate in instanceof, catch, typehints e altri costrutti del linguaggio. and other language constructs. ● Esistenza e accessibilità di metodi e funzioni richiamati. Correttezza del numero di parametri passati ● Se un metodo restituisce lo stesso tipo dichiarato come return type. ● Esistenza e visibilità delle proprietà a cui si accede, compreso il caso in cui si assegni un tipo diverso da quello dichiarato. ● Numero di parametri passati alle chiamate a sprintf/printf in base alle stringhe di formato. ● Esistenza di variabili rispetto allo scope di blocchi e cicli.
  10. 10. ✔ check ● Esistenza di classi usate in instanceof, catch, typehints e altri costrutti del linguaggio ● Esistenza e accessibilità di metodi e funzioni richiamati. Correttezza del numero di parametri passati ● Se un metodo restituisce lo stesso tipo dichiarato come return type. ● Esistenza e visibilità delle proprietà a cui si accede, compreso il caso in cui si assegni un tipo diverso da quello dichiarato. ● Numero di parametri passati alle chiamate a sprintf/printf in base alle stringhe di formato. ● Esistenza di variabili rispetto allo scope di blocchi e cicli.
  11. 11. ✔ check ● Esistenza di classi usate in instanceof, catch, typehints e altri costrutti del linguaggio ● Esistenza e accessibilità di metodi e funzioni richiamati. Correttezza del numero di parametri passati ● Se un metodo restituisce lo stesso tipo dichiarato come return type. ● Esistenza e visibilità delle proprietà a cui si accede, compreso il caso in cui si assegni un tipo diverso da quello dichiarato. ● Numero di parametri passati alle chiamate a sprintf/printf in base alle stringhe di formato. ● Esistenza di variabili rispetto allo scope di blocchi e cicli.
  12. 12. ✔ check ● Esistenza di classi usate in instanceof, catch, typehints e altri costrutti del linguaggio ● Esistenza e accessibilità di metodi e funzioni richiamati. Correttezza del numero di parametri passati ● Se un metodo restituisce lo stesso tipo dichiarato come return type. ● Esistenza e visibilità delle proprietà a cui si accede, compreso il caso in cui si assegni un tipo diverso da quello dichiarato. ● Numero di parametri passati alle chiamate a sprintf/printf in base alle stringhe di formato. ● Esistenza di variabili rispetto allo scope di blocchi e cicli.
  13. 13. ✔ check ● Esistenza di classi usate in instanceof, catch, typehints e altri costrutti del linguaggio ● Esistenza e accessibilità di metodi e funzioni richiamati. Correttezza del numero di parametri passati ● Se un metodo restituisce lo stesso tipo dichiarato come return type. ● Esistenza e visibilità delle proprietà a cui si accede, compreso il caso in cui si assegni un tipo diverso da quello dichiarato. ● Numero di parametri passati alle chiamate a sprintf/printf in base alle stringhe di formato. ● Esistenza di variabili rispetto allo scope di blocchi e cicli.
  14. 14. ✔ check ● Esistenza di classi usate in instanceof, catch, typehints e altri costrutti del linguaggio ● Esistenza e accessibilità di metodi e funzioni richiamati. Correttezza del numero di parametri passati ● Se un metodo restituisce lo stesso tipo dichiarato come return type. ● Esistenza e visibilità delle proprietà a cui si accede, compreso il caso in cui si assegni un tipo diverso da quello dichiarato. ● Numero di parametri passati alle chiamate a sprintf/printf in base alle stringhe di formato. ● Esistenza di variabili rispetto allo scope di blocchi e cicli.
  15. 15. ✔ check ● Esistenza di classi usate in instanceof, catch, typehints e altri costrutti del linguaggio ● Esistenza e accessibilità di metodi e funzioni richiamati. Correttezza del numero di parametri passati ● Se un metodo restituisce lo stesso tipo dichiarato come return type. ● Esistenza e visibilità delle proprietà a cui si accede, compreso il caso in cui si assegni un tipo diverso da quello dichiarato. ● Numero di parametri passati alle chiamate a sprintf/printf in base alle stringhe di formato. ● Esistenza di variabili rispetto allo scope di blocchi e cicli.
  16. 16. https://packagist.org/explore/?type=phpstan-extension
  17. 17. Dove/quando?
  18. 18. Dove/quando? 1. sulla propria macchina, alla bisogna 2. sulla propria macchina, automaticamente 3. su una macchina remota, automaticamente
  19. 19. Dove/quando? 1. sulla propria macchina, alla bisogna 2. sulla propria macchina, automaticamente 3. su una macchina remota, automaticamente
  20. 20. Dove/quando? 1. sulla propria macchina, alla bisogna 2. sulla propria macchina, automaticamente 3. su una macchina remota, automaticamente
  21. 21. Dove/quando? locale remoto automatico manuale ✔ ✔ ✔
  22. 22. Grazie!

×