Categoria

Pagina 1 di 1

Code Quality: codice che dura e che chi arriva dopo può leggere

La qualità del codice decide quanto costerà modificare il software fra due anni. Un codice chiaro si estende, un codice oscuro si riscrive, e riscrivere costa sempre più di quanto si pensi. In questa categoria la qualità è trattata come una leva economica sulla manutenibilità futura.

Molti articoli riguardano gli strumenti e le abitudini che tengono alta la qualità in modo ripetibile: analisi statica con PHPStan e Psalm portata ai livelli alti su codice reale, code review fatta come pratica quotidiana, e quel set di abitudini operative che distingue un senior da chi ha solo accumulato anni. La qualità viene dalla disciplina applicata con costanza.

Altri affrontano la qualità nell'era del codice AI-generato, oggi il fronte più insidioso. Il codice prodotto da un modello sembra pulito, passa i test ed esce in produzione, ma può nascondere un debito di comprensione che nessuno ha davvero assorbito, e classi di vulnerabilità ricorrenti che il contesto non coglie. Scrivo di come si fa una code review seria su output AI, e di come si usa l'AI stessa per alzare la qualità.

Se vuoi alzare la qualità di una codebase o del tuo team, vedi i miei progetti PHP senior o scrivimi.

Scrivere codice che funziona è facile. Il lavoro vero è scrivere codice che un team può leggere e modificare fra due anni.

Il pipe operator di PHP 8.5: leggibilità reale o zucchero sintattico?

Il pipe operator di PHP 8.5: leggibilità reale o zucchero sintattico? PHP 8.5 introduce il pipe operator, e la domanda onesta è se migliori davvero la leggibilità o sia solo zucchero sintattico. Analisi pratica: cosa risolve davvero, ovvero le chain leggibili da sinistra a destra; i limiti reali con i callable a più parametri e i built-in da wrappare; e gli esempi da codice gestionale dove il pipe rende il flusso chiaro contro quelli dove aggiunge solo una sintassi nuova. Onesto sui tradeoff, non entusiasta per default. Continua a leggere
Ultima modifica:

Automatizzare la revisione tecnica del codice ereditato: dalla paura all'analisi sistematica

Automatizzare la revisione tecnica del codice ereditato: dalla paura all'analisi sistematica La prima settimana su un progetto legacy è sempre disorientante. Ho sviluppato un processo sistematico di audit tecnico in 5 fasi: analisi statica con PHPStan, complessità ciclomatica con PHP Metrics, mappa delle dipendenze esterne, test di copertura esistente e interviste al team. Output: un report con priorità chiare. Continua a leggere
Ultima modifica:

PHP e memory management: come evitare i memory leak nelle applicazioni di lunga esecuzione

PHP e memory management: come evitare i memory leak nelle applicazioni di lunga esecuzione I worker Laravel Horizon di un cliente consumavano 500MB di RAM dopo 6 ore di esecuzione e venivano killati automaticamente. Il memory leak non era ovvio: un event listener registrato globalmente teneva riferimenti a ogni job processato. Vi mostro il processo di diagnosi con Blackfire e le strategie di correzione. Continua a leggere
Ultima modifica:

OpenAPI e Swagger per Laravel: documentazione API generata dal codice e sempre aggiornata

OpenAPI e Swagger per Laravel: documentazione API generata dal codice e sempre aggiornata La documentazione API scritta a mano diverge dall'implementazione in settimane. Ho adottato un approccio code-first: annotation PHP sugli endpoint, generazione automatica dello spec OpenAPI in CI, validazione delle request/response contro lo spec nei test. Gli integratori hanno sempre documentazione fedele alla realtà. Continua a leggere
Ultima modifica:

Analisi statica del codice PHP con Psalm e PHPStan: integrazione in pipeline CI/CD

Analisi statica del codice PHP con Psalm e PHPStan: integrazione in pipeline CI/CD Dopo aver introdotto PHPStan a livello 9 su un progetto Laravel legacy con 80.000 righe di codice, ho trovato 340 errori di tipo - di cui 12 erano vulnerabilità di sicurezza reali, tra cui due SQL injection potenziali e una IDOR. L'analisi statica non sostituisce il pen test, ma lo rende più efficiente. Continua a leggere
Ultima modifica:

SQL injection nel 2025: perché continua a colpire le PMI e come prevenirla definitivamente

SQL injection nel 2025: perché continua a colpire le PMI e come prevenirla definitivamente Ho trovato una SQL injection in un gestionale di ordini PHP usato da un'azienda con 80 dipendenti. Il codice era del 2019, aggiornato più volte, ma la query vulnerabile era sopravvissuta a tutti i refactoring. Vi spiego perché SQLi è ancora viva, quali pattern la nascondono e come fare code review mirata. Continua a leggere
Ultima modifica:

Reverse engineering di Laravel 8 su PHP 7.4 EOL senza documentazione: come ho mappato in dodici giorni il gestionale interno di una catena di cliniche dentistiche veronesi con 23 studi e 180 utenti attivi

Reverse engineering di Laravel 8 su PHP 7.4 EOL senza documentazione: come ho mappato in dodici giorni il gestionale interno di una catena di cliniche dentistiche veronesi con 23 studi e 180 utenti attivi Un'applicazione Laravel abbandonata da due anni su PHP EOL non si affronta in emergenza: va mappata sistematicamente prima di toccarla. Il caso reale di un gestionale interno per una catena di cliniche dentistiche veronesi del 2025, il metodo in dodici giorni con cui ho prodotto documentazione viva partendo da zero, e gli strumenti di static analysis che rendono il reverse engineering effettivamente economico. Continua a leggere
Ultima modifica:

Sei abitudini di un senior developer che valgono più di dieci anni di esperienza: cosa difendo davvero in code review nelle PMI

Sei abitudini di un senior developer che valgono più di dieci anni di esperienza: cosa difendo davvero in code review nelle PMI La differenza fra senior e junior non è il numero di anni: è un set di abitudini operative misurabili. Definition of done estesa, lettura prima di scrittura nel rapporto 10:1, refactoring incrementale del 10% per PR, KISS sopra cleverness, ADR scritti come codice di prima classe, regole non negoziabili su Git e migrazioni. Sei abitudini che difendo in ogni code review PMI e che abbattono il debito tecnico in modo misurabile nei tre-quattro mesi successivi. Continua a leggere
Ultima modifica:

Strumenti utili per la qualità del codice

Tool gratuiti per audit e verifica:

Audit del composer.lock, Regex tester.