Quali sono i vantaggi di mostrare i numeri di riga in un editor di testo?


27

Mi sento strano quando sto modificando il codice in un IDE che non ha numeri di riga nell'editor di testo.

Le domande che ho sono:

  1. I numeri di riga sono visivamente eccessivi, in particolare quando esiste una funzione di ricerca per riga nel tuo IDE preferito?
  2. Quali sono gli usi di mostrare i numeri di riga?

35
2: Sentiti totalmente macho sul numero di righe di codice scritte.
Adam Crossland,

4
@AdamCrossland: divertente dovresti dirlo, in genere lo vedo esattamente l'opposto e più righe di codice scrivo, più tempo finisco per passare a guardarlo per essere sicuro di non aver fatto nulla due volte e che io ' m incontro spec.
Nick Larsen,

4
sì, è vero anche per me, ma a volte devi solo allacciarti il ​​casco da motociclista e andare per il macho.
Adam Crossland,

3
Trovo più veloce scorrere con un occhio sui numeri di riga piuttosto che usare la funzione goto line del mio editor (questo potrebbe essere perché devo prima trovarlo ogni volta), specialmente quando sono già vicino
maniaco del cricchetto

7
@Adam: Senti totalmente Macho su quante poche righe di codici ho scritto per farlo funzionare.
Newtopian,

Risposte:


14

Tutto ciò che aiuta la comunicazione è un vantaggio.

  1. Non occupa molto spazio, quindi no, non è eccessivo se tu o qualcuno dei tuoi colleghi trovi utile discutere il codice.

  2. Anche se non esegui la programmazione di coppia, è utile per le revisioni del codice "over the shoulder" se non usi strumenti come Code Collaborator (al momento non lo facciamo).

Inoltre, se hai membri del team in altri siti (lo facciamo), è utile per discutere di codice tramite messaggistica istantanea o al telefono.

Come puoi dire loro di dire loro di andare alla linea 1842 se non riesci a vedere la linea?

Per me è un piccolo strumento prezioso inestimabile. Anche alcune delle nostre specifiche in pdf hanno linee numerate ed è sorprendente quanto sia più facile riferirsi e discutere rispetto a quelle non numerate.


54

Nessuno ha menzionato la possibilità di guardare rapidamente una traccia dello stack delle eccezioni per scoprire dove si è verificata un'eccezione.


Veramente? Stati OP "referencing stack trace line numbers". O ti riferisci entrambi a cose diverse?
StuperUser

3
Oops ... Mi è mancato! Bene ... è importante, quindi vale la pena ribadirlo! ;)
maple_shaft

4
Bene, la domanda è stata modificata ora, vota ahoy!
StuperUser

E, naturalmente, guardando i registri (non necessariamente dalle eccezioni). Tutti i nostri registri indicizzano il file + la riga da cui provengono, incredibilmente a portata di mano!
Matthieu M.

@maple_shaft, In realtà anche quando non sei in grado di vedere le linee, puoi comunque fare Ctrl-G (ad esempio un semplice vecchio blocco note).
Pacerier,

51

I numeri di riga visualizzati sono essenziali per la programmazione abbinata. Non esiste un modo più veloce per indirizzare gli occhi della tua coppia sul codice a cui stai pensando.

Per estensione, i numeri di riga sono anche estremamente utili per le revisioni del codice, sia formali che informali.


+1: non avevo considerato la programmazione in coppia (non sorprende, dato che non sono assolutamente un fan). Tuttavia, l'utilità dei numeri di riga nelle revisioni del codice è praticamente complicata se si utilizza un'applicazione (come CodeCollaborator)
Demian Brecht

Non avevo l'abitudine di numerare le linee fino a quando non avevo fatto un po 'di programmazione in coppia, ora ho l'abitudine di numerare le linee. +1 per farmi capire questa connessione.
SingleNegationElimination

11
Piuttosto che dire "Linee da 247 a 253", trovo più velocemente evidenziare solo quelle linee o indicarle con il dito. Non credo che questa risposta sia sufficiente per giustificare il disordine in più.
BlueRaja - Danny Pflughoeft

1
Sono sorpreso che questa risposta abbia ricevuto 36 voti positivi in ​​24 ore.
Eric Wilson,

@BlueRaja: non sono sicuro della programmazione delle coppie (anche se potresti avere entrambe le mani occupate), ma quando si discute da una scrivania all'altra, sicuramente aiuta! C'è qualcosa che non capisco in yyy.cpp alla riga 314, perché ne abbiamo bisogno?
Matthieu M.

10
  1. No, mi piace avere i dati per darmi un'idea di dove si trova qualcosa in un file, specialmente se sto guardando un grande file di configurazione in cui potrebbe non essere facile ritrovare quel punto.

  2. Potrei dare un'occhiata al numero di riga come un modo per vedere quanto è grande un file. Se ci sono alcune migliaia di righe di codice in un file, potrebbe essere il momento di considerare se quel file deve essere suddiviso o qualcosa del genere. Posso anche usarlo per giudicare quanto sono profondo in un file se ho una sfera della dimensione del file e quali numeri sono sullo schermo. Mi piace l'idea di quantificare la mia posizione all'interno della barra di scorrimento, ad esempio sono nel primo trimestre del file o nel 3o quintile.


1
Qualche migliaio ?
Anthony Pegram,

4
@Anthony: dovresti vedere i loc per file in un gioco;)
Demian Brecht,

3
@Anthony: certo. Ho visto facilmente file sorgente con 10k + LOC.
tdammers,

1
@tdammers, quindi ho I. Il problema non è se questi file esistono, è il momento in cui è il momento di iniziare a riconsiderare. A mio avviso, questo è normalmente ben prima di alcune migliaia. È ben prima di alcune centinaia . In effetti, una volta che comincio a scorrere, comincio a sentirmi un po 'ansioso (non significa che rifletto immediatamente, intendiamoci).
Anthony Pegram,

5
@Anthony Pegram - Sento che un programma dovrebbe essere ben strutturato tramite funzioni / routine e così via. Il fatto che siano tutti nello stesso file non mi disturba; piuttosto il contrario; Li preferisco tutti lì invece di una pletora di file in una directory. Più facile da diff anche, IMO.
Rook,

9

Vengo da una storia di utilizzo di editor con numeri di riga incorporati in essi. I miei pensieri in merito? Non sono assolutamente necessari (ora uso Vim con i numeri di riga disabilitati). Pensate a questo: Anche quando si fa trovare tracce di stack e quali, quante volte si fa manualmente guarda per la linea utilizzando i numeri di riga in contrasto ctrl+g(nella maggior parte degli editor di Windows) oppure :line-numin Vim?

Modifica: Naturalmente, questo può essere diverso per gli altri, ma il 99% delle volte, io uso quest'ultimo.


7

Una cosa importante: se stai usando Visual Studio o qualsiasi ide con regioni comprimibili, i numeri di riga ti danno una sensazione immediata di quanto è grande un'area senza espanderla. Inoltre, se hai una sorta di registrazione che ti dirige verso una linea problematica, è bello non dover usare un comando quando è la linea davanti a te.


3

Per qualsiasi motivo (viene in mente la compilazione incrociata) il compilatore potrebbe non essere integrato nell'IDE. Pertanto è necessario un riferimento assoluto per la posizione degli errori. (Quando si compila al di fuori del proprio IDE)

NWS


2

L'unica volta che ho usato i numeri di riga è quando compare un bug e la traccia dello stack mi dice che è successo alla riga x.

Ho visto molti sviluppatori professionisti lavorare senza numeri di riga. Quindi, non vedo altro uso che riferimenti in ritardo .


2

Mi piace averlo quando utilizzo lo schermo diviso in jEdit.


+1 Aiuta sicuramente ad orientare il lavoro su schermo diviso nello stesso file! Esistono altri modi per determinare se si sta guardando il riferimento o l'area di lavoro del file.
Adam,

1

Sì, come dice @maple_host, è davvero conveniente fare un "vi file.py +142" quando vedo un'eccezione proveniente dal codice in quel numero di riga. Inoltre gli altri vantaggi citati con la programmazione accoppiata ecc ... È sempre utile avere i numeri di riga su qualsiasi editor. (Ricordo il vago errore di compilazione riportato da MS VC ++ 6 in uno dei file di intestazione standard, riga #blah !! .. In realtà era una ridefinizione macro fatta da me !!). Trova e uccidi.

saluti, Yati Sagade


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.