Programmeurs die ruimtes gebruiken, hebben hogere salarissen dan degenen die tabbladen gebruiken


Ruimten versus Tabbladen. Er is een interne heilige oorlog gaande onder programmeurs. Moeten programmeurs hun code laten inspringen met behulp van spaties of tabs? Is hier een duidelijk antwoord op? Trouwens, wie verdient er meer? Programmeurs die spaties gebruiken of programmeurs die tabs gebruiken? Hierover en meer leer je in dit artikel.

Invoering

Inspringen is een zeer belangrijke functie in de programmeerwereld. Sommige programmeurs volgen het ijverig, en weer anderen zijn nogal terughoudend. Inspringen is een stijl die codeblokken inspringt om een programmastructuur aan te duiden. Slechte inkepingen kunnen ervoor zorgen dat het programma in de war raakt en moeilijk te controleren is. De reden waarom veel programmeurs nalaten om inspringen te doen, is vanwege tijdgebrek. Juiste inspringingen maken code gemakkelijker te lezen, te begrijpen, aan te passen en te onderhouden.

Een van de belangrijkste voordelen van een goede inspringing is het gebruiksgemak. U kunt direct zien op welke code u zich moet richten in plaats van elke regel te moeten lezen, en begrijpen wat het begin van het blok is en wat het einde is. En geloof het of niet, er zijn veel situaties waarin u naar de codes moet verwijzen:

  • Terwijl je de codes begrijpt
  • Tijdens het toevoegen van nieuwe codes aan het bestaande programma
  • Tijdens het updaten van codes
  • Tijdens code debuggen

Een analyse uitgevoerd door Stack Overflow bracht een observatie aan het licht die stelt dat Spaces meer de voorkeur heeft van de programmeerwereld dan Tabs. Programmeurs die ruimtes gebruiken, verdienen ook meer.

Elk jaar doet Stack Overflow een onderzoek naar de salarissen die programmeurs verdienen. In 2017 ging het onderzoek over welke programmeurs meer salaris verdienen – tabgebruikers of ruimtegebruikers. De datawetenschapper van Stack Overflow, David Robinson, verwerkte de verzamelde gegevens en kwam tot de conclusie dat ‘space’-programmeurs 9% meer verdienden dan ’tab’-programmeurs, ongeacht hun ervaringsniveau.

Ongeveer 28.657 mensen namen deel aan de enquête en gaven een antwoord in welk formaat ze de voorkeur gaven. Dit waren allemaal professionele ontwikkelaars (geen studenten of eerstejaars) en ongeveer 12.426 van hen gaven ook informatie over hun salaris. Van de professionals in de groep gebruikt 40,7% tabbladen, 41,8% spaties en de rest gebruikt beide. Ervaring telt eigenlijk niet, omdat de gegevens die Stack Overflow verzamelt deze observatie ondersteunen. Computerprogrammeurs die ruimtes gebruiken, krijgen £ 12.000 meer betaald dan de andere groep.

En dit hangt natuurlijk ook af van de gebruikte computertaal. Voor talen als Python is inspringen zo belangrijk, terwijl je het in Ruby gebruikt om de codestructuur gemakkelijker te maken.

Als u handgeschreven codes in werkende software gebruikt, kan het gebruik van een van de twee inspringingen een effect hebben. Er is een apart programma genaamd interpreter of complier om dit programma af te handelen.

Ontwikkelaars vragen hun coderingseditor om met een van deze twee of beide te werken om de relatie tussen de verschillende elementen te laten zien. Het kan heel erg worden als de redacteur tabbladen ziet terwijl hij verwacht met tabbladen te werken en vice versa. De interpreter of compiler kan in dergelijke situaties crashen.

Is dit dan in elk land hetzelfde? Ontwikkelaars in landen met een laag BBP per hoofd van de bevolking gebruiken waarschijnlijk tabbladen en verdienen lage lonen in vergelijking met de andere.

Als je kijkt naar het rapport dat is ingediend in Stack Overflow, kun je zien dat in de Verenigde Staten, het Verenigd Koninkrijk, Canada, Canada, Duitsland en India het aantal ontwikkelaars dat spaties gebruikt aanzienlijk hoger is. In Europa kan het effect klein zijn, in India is het verschil veel groter. Maar is dat de enige factor hierachter? Misschien niet waar, omdat het afhangt van de ontwikkelaar en de inspringing die ze het liefst gebruiken. DevOps-ontwikkelaars geven er de voorkeur aan om spaties te gebruiken, terwijl mobiele ontwikkelaars de neiging hebben om naar tabbladen te trekken.

Je kunt dus stellen dat een aantal factoren wel van invloed zijn op de salarisparameter:

  • Of ze nu tabs en spaties gebruiken
  • Land waar het werk wordt gedaan
  • De gebruikte taal en de aard van het werk van de ontwikkelaar
  • Jaren ervaring als ontwikkelaars
  • De bedrijfsgrootte
  • Hun kennisniveau, inclusief formeel onderwijs
  • Of ze het nu professioneel of als hobby doen
  • Hun bijdrage aan open source, indien van toepassing.

De resultaten werden waargenomen als een gedetailleerde studie van deze factoren, en hetzelfde komt naar voren wanneer het wordt getest binnen elke subontwikkelaarsgroep of land. U kunt dit ook controleren door de gegevens hier te verzamelen.

Het ondersteunende argument voor tabbladen zegt dat ontwikkelaars hun editor kunnen configureren voor elke tabbreedte waar ze zich prettig bij voelen. Wanneer u het echter gebruikt, moet u de tabbreedte (u codeert de breedte) toevoegen aan de coderingsrichtlijnen. Sommige ontwikkelaars gebruiken spaties omdat het zichzelf beschrijft, en ze willen niet dat hun code er anders uitziet op basis van de instellingen van de editor. Codes moeten gemakkelijk te lezen zijn, zodat de lezer de breedte op de gewenste waarde kan instellen.

Maar je kunt het ook op deze manier zien – Gebruik spaties voor het uitlijnen van code met meerdere regels op plaatsen waar breedte belangrijk is. En gebruik tabbladen voor inspringen, zodat ontwikkelaars hun eigen voorkeursbreedte kunnen verzenden.

Conclusie

Het feit dat spaties meer scoren dan tabbladen kan voor velen een beetje verrassend zijn. Maar als je de gegevens verknipt en kijkt naar alle factoren die ze in de dataset hebben gebruikt, zijn de resultaten duidelijk. U kunt de onbewerkte gegevens ook downloaden en zelf onderzoeken.

Het argument voor de twee gaat echter door en er zijn zeer sterke voorstanders voor beide. Een groep ontwikkelaars kan bijvoorbeeld spaties ondersteunen die zeggen dat een tabblad meerdere kolommen kan hebben, afhankelijk van de omgeving, maar voor ruimte is er slechts één kolom.

En een supporter van tabbladen zou kunnen zeggen dat het specifiek bedoeld is voor inspringen, waardoor de ontwikkelaars een aantal voorkeuren hebben voor de inspringgrootte en de ontwikkelaar helpt om de codewijzigingen te zien, zonder de code daadwerkelijk te veranderen. Ontwikkelaars zijn echter van mening dat de meest populaire manier om Python te laten inspringen is met spaties, en de andere methode is de op één na populairste manier.

Interessante artikelen:
Gedetailleerde verschillen verklaard door stackoverflow
Ruimteprogrammeurs versus Tab-programmeurs

Afbeeldingsbron: Flickr.com / Berliner


De auteur: Reema Oamkumar is betrokken als thought leader bij www.Software-Developer-India.com, een onderdeel van de YUHIRO Group. YUHIRO is een Duits-Indiase onderneming die programmeurs levert aan IT-bedrijven, agentschappen en IT-afdelingen.

Geef een reactie

Deze site gebruikt Akismet om spam te verminderen. Bekijk hoe je reactie-gegevens worden verwerkt.