Versione breve
Se il lavoro consiste nel mantenere un'applicazione, le competenze che devi testare durante le interviste sono:
La capacità di comprendere la base di codice di grandi dimensioni con la sua documentazione, unit test , ecc.
La capacità di refactoring del codice e di apportare modifiche senza rompere tutto.
Chiedere alle persone di leggere il codice non ti aiuterà a valutare tali abilità.
Versione lunga
Ti è stato chiesto di scrivere il codice? Se sì, come ha notato Sign nella sua risposta , questo è sufficiente. Se generalizziamo un po ', una persona che scrive un codice sorgente chiaro e facile da capire sarebbe in grado di leggere il codice sorgente scritto da altre persone.
Se non ti è stato chiesto di scrivere codice, allora, probabilmente, sei stato intervistato da una persona del dipartimento delle risorse umane. Tali interviste non possono essere troppo tecniche e sono per lo più prive di valore, dal momento che non mettono a repentaglio le tue capacità e la tua capacità di lavorare bene, ma piuttosto il numero di anni trascorsi al college e altre cose che non hanno nulla a che fare con il lavoro.
Esistono alcuni altri motivi per non chiedere di leggere il codice per un lavoro di manutenzione:
1. È difficile fare in modo affidabile
Concretamente, cosa faresti se fossi un intervistatore? Fai leggere ai tuoi candidati qualche codice. Quale codice? In che lingua? Quanto bene o male scritto? Con o senza commenti? Con o senza documentazione?
Ancora più importante, cosa dice del candidato? Quanto bene si collega con codebase stesso?
Supponiamo che tu abbia un'app VB.NET legacy da mantenere. Sai che il codice sorgente è per lo più brutto e non testato, e alcuni commenti sono obsoleti o fuorvianti. Negli ultimi tre mesi, hai avuto uno sviluppatore molto abile a lavorare sulla soluzione; ha effettuato il refactoring e ha testato l'unità delle parti più critiche dell'applicazione, ha aggiunto commenti laddove fossero necessari commenti e, soprattutto, ha scritto una documentazione dettagliata sull'architettura generale, le parti critiche e le insidie.
Ora stai assumendo uno sviluppatore per mantenere questa base di codice. Durante un'intervista, daresti un pezzo di codice legacy (brutto non testato) o il pezzo di codice che è stato refactored dallo sviluppatore precedente?
Daresti la documentazione? Per leggere la documentazione, il candidato dovrà trascorrere almeno alcune ore. Questo rende impossibile farlo durante un'intervista.
2. Leggere un breve codice non è lo stesso di leggere un codice di un progetto familiare
Ricorda, il compito è mantenere un progetto. È difficile mantenere una base di codice di grandi dimensioni i primi giorni o settimane quando non si ha familiarità con il progetto. È molto più facile farlo dopo alcuni mesi quando hai scritto tutta la documentazione e hai una visione chiara della base di codice generale.
La cosa più importante da verificare è se la persona sarà efficiente in quei mesi . Non ti importa se la persona non sarà in grado di capire nulla nei primi due giorni.
Chiedendo a una persona di leggere un breve pezzo di codice da zero, non si sta testando come questa persona sarebbe in grado di gestire un codice familiare e documentato di migliaia di LOC .
3. Mantenere il codice sorgente non è solo leggerlo
Quando si mantiene una base di codice, la si sta modificando . Uno sviluppatore che legge solo il codice non porta nulla di utile alla sua azienda.
Le abilità utili sono la capacità di refactoring del codice , l' aggiunta di unit test , la previsione dell'impatto di una modifica , ecc. Non si verificano tali abilità chiedendo a una persona di leggere il codice durante l'intervista.