Dove eseguire il controllo di un codebase per l'utilizzo di codice pericoloso [chiuso]

1

Non sei sicuro che i Programmers Stack Exchange siano il posto giusto per porre questa domanda, ma ho pensato di dargli una possibilità.

Il nostro team ha avuto un recente errore con un brutto errore in cui una chiamata al metodo era stata aggiunta all'area di codice errata, in modo tale da eliminare l'ordine immediatamente dopo che l'utente aveva passato il checkout. Non c'era alcun avviso per il cliente o per noi a causa della natura dell'API che stavamo usando (e non possiamo modificare).

Mi è venuto in mente che quello che volevamo era una sorta di strumento di controllo, un po 'come un linter, che potevamo configurare per verificare ogni nuovo commit di Github per l'uso di alcune chiamate di metodi chiave. Se qualcuno ha fatto quella chiamata al metodo, lo segnalerebbe per un controllo extra. Forse un plug-in di Jenkins sarebbe il posto migliore per questo, dato che il nostro codice passa attraverso la Jenkins CI ogni volta che passiamo al nostro ramo principale di pre-release?

Per chiarezza, questo codice era stato completamente testato e revisionato dal codice. Mentre ci sono lezioni da imparare in entrambe queste aree, questo sembra qualcosa con cui un processo automatizzato potrebbe aiutare. In definitiva, trovare l'errore era una buona fortuna, poiché uno degli sviluppatori stava riordinando qualcos'altro in quell'area del codice.

Alcune delle domande che ho:

  • Esistono questi strumenti?
  • Dove sarebbero in genere meglio applicati; nell'IDE, durante il processo di controllo del controllo del codice sorgente o in qualcosa come Jenkins durante CI?
  • Sono tutti linguaggio di programmazione specifico? O davvero, ci limitiamo semplicemente a eseguire un grep sul nostro code-base?

Ogni pensiero o idea è davvero apprezzato.

    
posta JonRed 22.09.2014 - 06:23
fonte

1 risposta

3

For clarity, this code had been fully tested and code reviewed

testato e revisionato, ma non completamente , ovviamente. Penso che sia l'area che dovresti guardare.

Per quanto riguarda uno strumento - sicuramente una semplice regex su ogni file nella build è ciò che vuoi. In alternativa, procurati uno strumento di analisi statica open source e modificalo per gestire i casi in cui viene chiamato il tuo metodo. Questi strumenti avranno già controlli per altri metodi pericolosi (ad es. Memcpy in C), quindi dovrebbe essere un compito facile da modificare per gestire i propri metodi.

    
risposta data 22.09.2014 - 18:38
fonte

Leggi altre domande sui tag