2011-03-25 17 views
24

Molti siti Web, ad esempio html5 boilerplate, utilizzano due spazi. Progetti predefiniti di Visual Studio come ASP.NET MVC 3 utilizzano una scheda. Uno diventerà il modo standard di rientrare in html?indentazione HTML standard, tab o due spazi?

+0

Possibile duplicato http://stackoverflow.com/questions/2678817/2-spaces-or-1-tab-whats-the-standard-for-indentation-in-the-rails-community –

+5

Non duplicare l'altra domanda è specifico per le rotaie. – Myster

+0

Non sono d'accordo sul fatto che questa sia una domanda basata sull'opinione perché sembra chiedere se esiste un solo standard corretto (che non esiste), non quale sia il migliore. –

risposta

10

Non penso che ci sia uno standard specificato dal W3C. Poiché HTML toglie comunque spazio in eccesso, dovresti scegliere quello che ti piace di più.

5

Penso che il giorno in cui il rientro dell'HTML diventerà una pratica standard, ci sarà molta gioia, indipendentemente da quale sia lo standard attuale.

Vorrei suggerire le schede, principalmente perché li uso e sono più comodo con loro. Ma si risparmiano anche alcuni byte da scaricare per ogni pagina e, con milioni di richieste di pagina, si sommano.

35

Non utilizzare le schede; usa due spazi. Le schede sono problematiche perché possono avere una larghezza diversa in diversi editor (e terminali, se è per questo). Poiché gli spazi vengono rimossi quando si riordina il codice HTML prima della distribuzione, non vi è alcun vantaggio in termini di larghezza di banda nell'utilizzo delle schede; semplicemente introducono un carattere jolly nella tua esperienza di sviluppo.

Due spazi stanno emergendo come standard perché sono "appena sufficienti" indentazione per rendere l'HTML chiaramente indentato agli occhi della maggior parte delle persone, ma poiché HTML tende ad annidare molto profondamente - molto più profondamente di quanto si farebbe comunemente durante la programmazione - e nulla più di due spazi tende a spingere HTML fuori dal bordo destro di uno schermo da 80 colonne abbastanza rapidamente.

+34

Non sono d'accordo sul fatto che le schede siano diverse in diversi editor è un problema, è un vantaggio, purché le utilizzi solo all'inizio delle righe. (come per la mia risposta qui sotto) – Myster

+2

Sono d'accordo. 4 spazi non sono adatti per HTML perché la struttura nidificata è solitamente troppo profonda. –

38

Non esiste uno standard, ma ...
Utilizza schede, è quello che stanno per.
Vantaggi: meno byte, l'utente può impostare la larghezza di visualizzazione preferita.

Avvertenza: le schede utilizzate all'interno delle linee per allineare le colonne sono potenzialmente allineate se l'ampiezza della scheda del creatore è diversa da quella del visualizzatore, motivo per cui utilizzo gli spazi per allineare le colonne.

Modifica Sto invecchiando e non mi interessa più tanto. Anche se considero ancora le schede superiori nei loro vantaggi elencati sopra. Dovresti anche considerare: i più semplici (spazi), o l'adozione più ampia (nella tua comunità, possibilmente più ampia rispetto al solo posto di lavoro), ciò che funziona per te.

11

I TAB non sono pensati per MarkUp-Languages! (Anche se Myster e MS la pensano così!) C'è un motivo per cui il boilerplate usa gli spazi e perché sono esattamente due. MS non è veramente famoso per l'utilizzo di formati di interscambio ragionevoli, quindi mi asterrò dal dare un commento su ASP.NET MVC3.

I TAB sono stati utilizzati nell'era delle applicazioni terminali. Al giorno d'oggi è meglio che l'interfaccia utente venga interpretata, quindi come uno scambio di dati/archivio specifico. Quindi l'argomento come "usa le schede in quanto sono più veloci da digitare" ... mi lascia senza parole. Sì, l'editor DOVREBBE interpretare un'azione dell'utente e concludere l'azione appropriata, ma se l'interfaccia utente/editor non è in grado di tradurre una scheda in due spazi, allora stai chiaramente utilizzando lo strumento sbagliato!

Quindi concordo pienamente con il ragionamento di Rodi! E questo è anche il motivo per cui qualsiasi editor ragionevole fornisce un'opzione per la conversione da tab a spazio.

L'argomento "dimensioni di archiviazione salvate" è fasullo, perché la compressione nello scambio html è quasi obbligatoria. Uno spazio semplificato potrebbe diventare il token più utilizzato nel tuo documento e risultare efficacemente compresso fino a pochi bit (2-4)!Quindi suddividere gli spazi in schede e spazi potrebbe danneggiare la compressione.

E solo gli spazi sono coerenti su più applicazioni. L'interpretazione delle schede può variare molto a partire da 2-8 spazi.

Se non si desidera terminare fino a riformattare ogni volta che l'infrastruttura sottostante cambia, utilizzare due spazi.

ps: ho appena verificato la presenza di spazi per questo html (fino al paragrafo precedente) e ho ottenuto 15177. Il successivo carattere frequente era 't' con 4468. l'occorrenza delle schede aveva un rispettabile 1101. Utilizzando gzip e lzo, la versione tab era in effetti una frazione più piccola di quella degli spazi.

Quindi non riesco a dissuadere completamente l'argomento "spazio di archiviazione" - per quanto mi piacerebbe.

2

Sembra che non ci sia una risposta assoluta.
La linguetta è stata uno standard nella codifica del programma effettivo - e sì che deriva da "i giorni degli schermi dei terminali 80-caratteri ", ma ciò non lo rende obsoleto.

Come qualcuno ha detto in precedenza, "Utilizzare le schede, è quello per cui sono".

L'argomento che alcuni editori li visualizzano in modo diverso è un'ammissione che non esiste uno standard in editor e che non dovrebbe equivale a costringere uno standard particolare marcatura - a meno che non v'è un altro motivo valido per farlo, come se scheda ha causato un effetto distruttivo per il markup. Se il tuo editore ti obbliga a prendere determinate decisioni prova a utilizzare un editor che ti permetta di fare le cose in modo coerente, se è ragionevole farlo.

Alla fine della giornata, finché non emerge uno standard effettivo, utilizzare ciò che funziona ed è generalmente accettato. Sembra che la scheda o due spazi siano entrambi generalmente accettati al momento, ma che si allontano dalla scheda perché alcuni editor non la visualizzeranno in modo coerente è solo un difetto o una svista nell'editor.

L'argomento "un solo tasto" può sembrare pigro, ma in realtà è più efficiente che è un punto per tale metodo.

Facendo riferimento alla C programmazione, Linus Torvalds, un riconosciuto (ma non assoluto) autorità, ha dichiarato: "schede sono 8 caratteri, e quindi rientranze sono anche 8 caratteri Ci sono movimenti eretici che cercano di rendere rientranze 4 (. o addirittura 2!) caratteri profondi, e questo è simile a provare a definire il valore di PI per essere 3. "

Sì, questo si riferisce al markup C e non al Web, e sì esprime il concetto con un'opinione stimata , ma il punto effettivo reso è valido. Sono sicuro che qualcuno potrebbe trovare molte altre espressioni colorate dello stesso concetto con lo , ma mi è capitato di avere questo esempio a portata di mano.