De ce ar folosi un coder spații peste file?

Cel mai bun răspuns

Mai întâi permiteți-mi să prefac acest lucru spunând că sunt programator profesionist de aproximativ 10 ani acum și am fost implicându-mă în programare de aproape 20 de ani acum (de când eram foarte tânăr). Am scris PHP, Java, C ++, Python, JavaScript, C #, ASP și QBasic (da, sunt bătrân). De asemenea, mă ocup în mod regulat de SQL, CSS și HTML.

Am folosit editori pe Windows, Linux și Mac. De asemenea, am folosit editoare în cadrul ferestrelor terminale. Programez profesional de aproximativ 10 ani acum. Vă pot spune din experiența personală, după ce am folosit peste 30 de editori (atât editori de text precum VIM și Nano, cât și IDE, cum ar fi Visual Studio și PhpStorm), că afișajul implicit pentru filele din editori variază foarte mult.

Mai mult, chiar și atunci când le oferiți aceleași setări, uneori aveți alte ciudățenii și neconcordanțe cauzate de editor sau de fontul editorilor. Spațiile pur și simplu nu au această problemă datorită faptului că sunt o construcție de limbaj standard.

Un lucru pe care l-am observat în mod constant este că majoritatea ghidurilor de stil de programare, cum ar fi PHP-FIG, îți spun să folosești spații de tab. Aceasta este tabularea care folosește spații pentru a imita caracterul filelor. Uneori numit tab inteligent.

Acest lucru este acceptat în fiecare editor la care vă puteți gândi că este destul de modern. Deci argumentul despre viteză este complet ridicol. În ceea ce privește argumentul despre spațiul luat pe disc. Literal, nimănui nu-i pasă de jumătate de octet în plus în dimensiunea fișierului. Dacă aceasta este preocuparea dvs., atunci veți fi înșurubat în mod regal pe spațiul și costul pe disc.

Singurul argument rămas este afișajul vizual. Aici spațiile lasă file în praf. Nu veți vedea consistența în filele pe care le vedeți cu spații. Spațiile arată la fel în absolut fiecare editor. Filele variază foarte mult și dacă vreți să deschideți vreodată un fișier într-un editor terminal (spuneți când inspectați ceva pe un server de la distanță) veți urî să vă ocupați de filele mai ales atunci când trebuie să derulați spre dreapta într-un editor de text numai.

Dacă doriți consistență și standardizare (în special cele mai comune standarde), atunci veți folosi spații. Dacă doriți doar să vă concentrați asupra reclamațiilor ridicole și să vă supărați pe alți dezvoltatori cu care lucrați, folosiți filele.

Răspundeți

Avantajele filelor față de spații sunt: ​​

  • Dezvoltatorii individuali pot alege linii diferite pentru codul lor.
  • De asemenea, utilizează mai puțin spațiu de stocare.

Cu toate acestea, filele au probleme.

Filele interacționează slab cu lățimile maxime ale coloanei. Proiectul alege lățimile maxime ale coloanei din mai multe motive, inclusiv asigurându-se că dezvoltatorii pot face diferențe unul lângă altul pe monitoarele lor și asigurându-se că dezvoltatorii pot scana codul rapid. (Lungimile de linii lungi reduc viteza de citire. Din acest motiv, editorii folosesc mai multe coloane în manuale.)

Să presupunem că standardul dvs. de codare specifică o lungime maximă de linie de 80 de coloane.

Primul dezvoltator dezvoltatorul are o linie care a fost indentată de patru ori și utilizează o setare de indentare cu două etichete. Aceasta înseamnă că codul este indentat cu 8 coloane. Dezvoltatorul scrie o linie completă. Rândul respectiv este format din 72 de caractere.

Acest cod este trimis către un recenzent. Recenzorul analizează codul utilizând liniuță cu 4 caractere. Cele patru file au acum 16 caractere lățime. Linia merge acum la coloana 88. Recenzorul îi spune dezvoltatorului să taie 8 caractere.

Al doilea recenzor care se uită la cod folosește o liniuță de 8 caractere. Recenzorul analizează codul folosind o liniuță de 8 caractere. Cele patru file au o lățime de 32 de caractere. Recenzorul îi spune dezvoltatorului să taie 24 de caractere.

Aceste probleme dispar dacă folosiți spații sau specificați o setare uniformă a filei pentru organizație. Dacă specificați o setare de filă fixă, atunci ați eliminat unul dintre argumentele principale pentru utilizarea filelor pentru început.

Acum, să luăm în considerare un document de aici sau un șir de mai multe linii care conține text formatat. S-ar putea să încorporați o diagramă creată cu un instrument precum asciiflow sau monodraw. Dacă utilizați file pentru indentări, desenele de indentare vor necesita utilizarea unei combinații de indentări și spații. Pentru ca acest lucru să funcționeze cu diferite liniuțe de filă, este necesar:

  • Folosirea unei combinații de filele principale, urmată de spații, pentru a vă alinia la o coloană dată. Toate liniile din imagine trebuie să aibă același număr de indentări de filă sau imaginea nu va arăta corect când este utilizată cu alte setări de indentare de filă.
  • Punerea unui caracter de marcaj pentru a indica începutul secțiunii delimitate prin spațiu. de exemplu. \ t / * \ n \ t * foo \ n \ t *. | \ n \ t * bar \ n \ t * / \ n
  • Abandonarea filei standard în aceste zone grafice.
  • Proscrie șiruri sau comentarii cu mai multe linii.

Toate aceste probleme dispar când folosiți spații pentru indentare.

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *