forumApri un argomento

Quali strumenti e metodologie di code review utilizzare per il codice consegnato da un'agenzia?

İİsmetPartecipante
Ruolo
Direttore logistica
Iscrizione
nov 2023
Messaggio
112
#1

Abbiamo affidato a un'agenzia di sviluppo software esterna la prima versione di una piattaforma di prenotazione visite e telemedicina per la nostra startup healthtech con sede a San Francisco. Abbiamo speso circa 55.000 dollari per quattro mesi di lavoro e il progetto è stato completato come da contratto, con il passaggio di consegne del repository di codice.

Adesso vorremmo proseguire lo sviluppo internamente con uno sviluppatore senior e due stagisti appena assunti. Non riusciamo però a valutare quanto sia pulito il codice ricevuto in consegna (architettura Node.js e React) né se contenga vulnerabilità nascoste o debito architetturale destinato a crearci problemi in futuro.

Sappiamo che esistono sul mercato strumenti di code review automatica basati sull'analisi statica, ma forniscono risultati davvero affidabili? Come dovremmo procedere per verificare a fondo la qualità e il livello di sicurezza del codice? Affidarsi unicamente a questi tool può bastare?

AAycan K***Partecipante
Ruolo
Direttore risorse umane
Settore
Elettrotecnica ed elettronica
Tipo di organizzazione
Azienda di produzione da 40 persone
Iscrizione
lug 2024
Messaggio
122
Più utile#2

Risposta breve: gli strumenti di code review automatica sono eccellenti per individuare errori di sintassi, vulnerabilità note e dipendenze obsolete nei pacchetti ma non riescono a comprendere difetti di architettura o falle nella logica di business. L'approccio migliore consiste nel mappare il debito tecnico di base tramite tool di scansione automatica e richiedere poi un audit di 15-20 ore a un software architect senior indipendente.

È consigliabile strutturare la revisione su tre livelli:

Il primo passo è l'analisi delle dipendenze e la ricerca di secret esposti. Utilizzate tool automatici per scansionare il repository alla ricerca di vulnerabilità note nelle librerie di terze parti e di chiavi API o credenziali del database finite inavvertitamente hardcodate nel codice. Le agenzie utilizzano spesso pacchetti non aggiornati o non più supportati.

Il secondo passo riguarda l'analisi statica del codice (SAST) e i linter. Questi tool calcolano in pochi secondi il punteggio di complessità (complessità ciclomatica) la copertura dei test e i blocchi di codice spaghetti duplicati fornendo un quadro preciso su leggibilità e costi di manutenzione futuri.

Il terzo passo, nonché il più critico è la revisione umana. Nessun tool automatico può verificare a fondo la logica di autorizzazione di una piattaforma sanitaria (ad esempio i controlli che impediscono a un paziente di accedere ai dettagli dell'appuntamento di un altro) o eventuali errori di indicizzazione sul database.

Date una settimana di tempo al nuovo sviluppatore senior: mettetegli a disposizione i report dei tool automatici e fategli esaminare manualmente i flussi core. Se necessario, acquistate una sessione di revisione architetturale da un consulente esterno indipendente.

HHilal B***Veteran
Ruolo
Grafico
Settore
Elettrotecnica ed elettronica
Tipo di organizzazione
distributore di zona
Iscrizione
dic 2023
Messaggio
17
#3

Quando lanciate tool statici non limitatevi agli standard di formattazione, ma controllate anche le regole SAST orientate alla sicurezza. SQL injection, riferimenti diretti non sicuri a oggetti (IDOR) e punti di validazione dell'input carenti vengono intercettati molto facilmente dalle regole automatiche. Verificate pure la code coverage: se l'agenzia non ha scritto unit test, fare refactoring di quel codice sarà un incubo.

MMustafa G***Partecipante
Ruolo
Responsabile acquisti
Settore
Produzione mobili
Tipo di organizzazione
media impresa
Iscrizione
dic 2022
Messaggio
72
#4

L'anno scorso abbiamo preso in consegna in modo simile il backend di un'app mobile costato 40.000 dollari. Gli scanner automatici davano luce verde xké la sintassi era impeccabile. Due settimane dopo la messa in produzione il db è andato in blocco: l'agenzia nn aveva inserito manco una foreign key o un indice sulle tabelle relazionali. Il tool qst cose nn le vede mai.

HHasan E***Partecipante
Ruolo
Segretaria
Settore
Retail
Tipo di organizzazione
Azienda di 20 persone
Iscrizione
set 2023
Messaggio
59
#5

Durante la fase di handover abbiamo pagato 2.500 dollari a un architect senior indipendente per una revisione approfondita di 15 ore. Ci ha segnalato 4 gravi errori architetturali che avrebbero bloccato la scalabilità e 8 falle di autorizzazione lasciate scoperte dall'agenzia. Soldi spesi benissimo, ce li siamo ampiamente ripagati.

YYiğit Ç***PartecipanteMembro della community
Iscrizione
mar 2025
Messaggio
107
#6

Nei lavori fatti dalle agenzie non fatevi ingannare troppo dai report dei tool automatici. A volte le agenzie, giusto per non far scattare i warning degli strumenti di analisi, spezzettano le funzioni scrivendo codice apparentemente pulito, ma la business logic è un minestrone. I tool non certificano che il codice funzioni a dovere, dicono solo che rispetta le regole di sintassi.

HHavva E***Partecipante
Ruolo
Direttore finanziario
Settore
Elettrotecnica ed elettronica
Tipo di organizzazione
media impresa
Iscrizione
ago 2024
Messaggio
150
#7

La primissima cosa che potete fare già da domani: date un'occhiata alla cronologia del repository (git log). L'agenzia ha pushato tutto nel panico negli ultimi 3 giorni, oppure è andata avanti per 4 mesi con commit regolari e messaggi descrittivi? La disciplina nel versioning è il primo indicatore della qualità interna del codice.

KKadir T***PartecipanteMembro della community
Iscrizione
apr 2026
Messaggio
25
#8

Checklist per le consegne delle agenzie: 1) Sono state dimenticate le chiavi API dei servizi esterni dentro al codice? 2) Le licenze delle librerie open source sono compatibili con il vostro uso commerciale? 3) I passaggi per il deployment e l'installazione locale funzionano senza problemi seguendo un unico documento?

EElif V***Partecipante
Ruolo
Addetto al controllo qualità
Settore
Costruzione macchinari
Tipo di organizzazione
Azienda di 20 persone
Iscrizione
nov 2025
Messaggio
40
#9

secondo me guardate assolutamente se hanno scritto i test. di solito le agenzie con la scusa del "non abbiamo fatto in tempo" non scrivono gli unit test, poi cambi una riga di codice e crolla tutta l'architettura.

İİlker Ö***Esperto
Ruolo
Addetto al negozio
Settore
Produzione mobili
Tipo di organizzazione
azienda familiare
Iscrizione
lug 2022
Messaggio
9
#10

abbiate un po' di pazienza con il nuovo collega senior. ereditare il codice scritto da qualcun altro è la cosa più frustrante al mondo per uno sviluppatore. i tool automatici servono almeno a evitare che le discussioni diventino personali, ancorandole a metriche oggettive.

İİlker K***Partecipante
Ruolo
Esperto di sicurezza informatica
Settore
Cam
Tipo di organizzazione
azienda all'interno di un gruppo
Iscrizione
lug 2025
Messaggio
185
#11

Preso nota, grazie.

YYavuz B***PartecipanteMembro della community
Iscrizione
mag 2025
Messaggio
59
#12

Mi chiedo anch'io.

EEmre D***Partecipante
Ruolo
Direttore marketing
Settore
Immobiliare
Tipo di organizzazione
laboratorio
Iscrizione
gen 2025
Messaggio
340
#13

Ti seguo.

KKemal T***Partecipante
Ruolo
Impiegato contabile
Settore
Contabilità e consulenza fiscale
Tipo di organizzazione
Team di 8 persone
Iscrizione
gen 2025
Messaggio
347
#14

Ottimo lavoro. La risposta varia molto in base al settore, non esiste una regola generale.

Lascio una nota, potrebbe servire.

MMelis K***Partecipante
Ruolo
Designer di gioielli
Tipo di organizzazione
attività con due sedi
Iscrizione
mag 2024
Messaggio
88
#15

la strada che sembra economica di solito finisce per costare cara e boh quando prendete una decisione, scrivete anche lo scenario peggiore, non solo quello migliore.

se cerchi di cambiare tutto insieme niente si stabilizza. se scrivete qui il risultato, sarà uile anche ad altri.

GGamze U***Partecipante
Ruolo
Direttore tecnologico
Settore
Tipografia
Tipo di organizzazione
Team di 8 persone
Iscrizione
feb 2024
Messaggio
270
#16

Dopo aver vissuto questa cosa, il mio punto di vista è cambiato. Il codice senza documentazione di installazione non è tuo anche se ce l'hai in mano.

Se scrivete qui il risultato, sarà utile anche ad altri.

LLale Y***PartecipanteMembro della community
Iscrizione
lug 2025
Messaggio
378
#17

Sono d'accordo.

TTaner A***Veteran
Ruolo
Stagista
Settore
Pubblicità e promozione
Tipo di organizzazione
attività con due sedi
Iscrizione
mar 2025
Messaggio
406
#18

Lo sentiamo dire da tempo, ma da noi non è mai andata così. Il calendario dei pagamenti va legato alle fasi del lavoro, non alle date.

Io seguirei questa strada.

TTaner Ç***PartecipanteMembro della community
Iscrizione
apr 2022
Messaggio
352
#19

Sono passato da qui, vi racconto. Un report settimanale scritto sull'avanzamento è molto più utile che chiedere date.

UUğur E***Esperto
Ruolo
Addetto all'inserimento dati
Settore
Turismo
Tipo di organizzazione
ditta individuale
Iscrizione
giu 2023
Messaggio
214
#20

Anche da noi è così. Chiunque abbia fretta su strumenti di code review si blocca nello stesso punto.

Inizia con un piccolo test, non impegnarti subito su tutto. Io seguirei questa strada.

Questo argomento è chiuso.Il moderatore di turno ha contrassegnato il thread come risolto. Se hai una situazione simile, puoi aprire un nuovo thread.
Apri un argomento