Quando leggi il codice di altri, di solito hai problemi a capirlo, O di solito chiedi agli altri codice che è sbagliato / non efficiente / formattato male (ecc.)?
Qualcuno che legge ciò che hai codificato sul tuo primo lavoro
Quando leggi il codice di altri, di solito hai problemi a capirlo, O di solito chiedi agli altri codice che è sbagliato / non efficiente / formattato male (ecc.)?
Qualcuno che legge ciò che hai codificato sul tuo primo lavoro
In questi giorni non ho molti problemi a leggere il codice di altre persone. Ho visto così tanto codice brutto, che posso persino diagnosticare quale tipo di evoluzione ha portato a trovare qualcosa.
Nella maggior parte dei casi, il codice cattivo professionalmente è un codice che è iniziato in modo corretto, ma le migliori pratiche, i requisiti o gli skillset sono stati trasferiti da sotto. A volte è solo qualcuno che è cattivo o nuovo della lingua, ma è abbastanza evidente (e non comune in un ambiente professionale). Più capisco il motivo per cui il codice si decompone, meno mi interrogo sulla competenza di altri programmatori.
Questo potrebbe essere il risultato di questo processo di sviluppo .
Negli ultimi 2 anni ho lavorato con il codice di altre persone. Ho effettuato il debug, risolto bug e apportato miglioramenti. Nella mia esperienza di solito penso che il codice sia cattivo, pieno di bug, lento, consuma molta più memoria del necessario, usato i concetti di programmazione in modo inappropriato, veramente pessimo formattato (questo è difficile da vivere), non commentato e il flusso logico è un pasticcio. Cosa succede se ti dico che ho trovato una funzione con 5k linee di codice?
Quindi nella mia esperienza di solito metto in discussione la qualità del codice. Se qualcosa è difficile da capire, perché è complesso, ha senso dopo averlo capito. Ma se è solo brutto sarà sempre male.
Risposta breve: per lo più non ci piace o siamo molto critici sul perché la codifica sia fatta in questo modo, e non viceversa. Tuttavia, più leggi il codice cattivo di altri, più velocemente apprezzi il codice ben scritto:)
Anche se può sembrare ovvio, ma il modo migliore per migliorare nella lettura del codice delle persone è: leggendo il codice delle persone . Il problema è che quando le persone leggono il codice di altre persone in genere non provano a " grok " esso, cioè diventa intimamente familiare con esso; fanno l'equivalente della poesia della lettura veloce.
Per ingannare il codice di qualcun altro puoi provare quanto segue:
Tutti questi passaggi ti costringono a leggere il codice in modo più approfondito.
Ci sono anche alcuni suggerimenti su come massimizzare la comprensione di un codice base, che è stato introdotto per manutenzione e supporto:
Una volta che hai un'idea di base su cosa sta succedendo, potresti voler dare un'occhiata all'archivio dei dati (il livello di persistenza). Questo è un altro ottimo modo per capire cosa sta succedendo, ma assicurati che le cose che stai studiando siano effettivamente in uso. Riesco a ricordare un paio di volte di aver raggiunto il fondo di alcune classi con questo approccio, pensando di aver capito il sistema - e poi realizzando che in seguito le classi non sono state usate affatto.
Può sembrare un compito scoraggiante: richiede tempo e strumenti di fantasia non è in grado di rimuovere il bisogno di intelligenza, ma può anche essere molto gratificante. Mentre vai, probabilmente troverai molti bug in casi di angoli / bordi e vedi modi per migliorare il codice. Un consiglio: non concentrarti troppo sul refactoring / cambiamento finché non hai una buona conoscenza del codice. Spesso quello che sembra un errore o semplicemente un brutto codice quando lo vedi per la prima volta, risulta essere un genio sottile al lavoro su un'indagine più tarda e illuminata. Inoltre, la rimozione del codice inutilizzato è così soddisfacente e ideale per i futuri manutentori. Di cortesia, con l'assunto che tutta la base di codice sia controllata dalla versione.
Leggi altre domande sui tag readability