CodeGym /Java Blog /Willekeurig /10 manieren om uw code te verbeteren, bewezen door persoo...
John Squirrels
Niveau 41
San Francisco

10 manieren om uw code te verbeteren, bewezen door persoonlijke ervaring

Gepubliceerd in de groep Willekeurig
Hallo iedereen in de CodeGym-community! 10 manieren om uw code te verbeteren, bewezen door persoonlijke ervaring - 1Vandaag gaan we het hebben over codekwaliteit. Ja, beste vrienden. Niemand is perfect. Iedereen realiseert zich op een gegeven moment dat de code beter kan... Maar wat te doen in deze situatie? Begin op zijn minst met het onderzoeken van dit probleem. Maar je bent er al, wat betekent dat het onderwerp je moet interesseren, dus laten we gaan. Vandaag beschrijven we manieren waarop u uw code beter en schoner kunt maken. Zo schaam je je in de toekomst niet meer voor je huidige code! :) Al deze methoden helpen een programmeur om een ​​goede programmeur te worden.10 manieren om uw code te verbeteren, bewezen door persoonlijke ervaring - 2

1. Als u uw code wilt verbeteren, lees dan die van iemand anders

Als je je programmeervaardigheden drastisch wilt verbeteren, moet je... code lezen die door andere programmeurs is geschreven. Geloof me of niet. Maar als je het risico neemt, beloof ik je: je wordt beloond voor de bestede tijd. Lees bijvoorbeeld niet op medium.com hoe HashMap, ArrayList, LinkedList etc. werken. Lees in plaats daarvan hun broncode en zoek het zelf uit. Hier is een lijst met te lezen klassen:
  • De meest gestelde vragen in interviews gaan over HashMap. Je slaat twee vliegen in één klap: je begrijpt de code en doet de kennis op die je nodig hebt.
  • Hetzelfde geldt voor ArrayList. Er is niets ingewikkelds, maar de broncode is echt de moeite waard om te lezen en te begrijpen.
  • String is een uitstekend voorbeeld. Begrijp waarom het onveranderlijk is.
  • AtomicInteger is een coole klasse: het definieert atomaire bewerkingen op Integer-objecten.
  • Daarna zouden we elke klas achter elkaar kunnen opsommen :)
Serieuzer, je zou de code van Pivotal moeten lezen. De mensen daar hebben het meest gevraagde ecosysteem in de Java-wereld geschreven. Hun code is zeker het lezen waard. Ik raad je aan om te beginnen met Spring Core . Het lezen van onbekende broncode is moeilijk maar lonend werk. :)

2. Volg codeconventies

10 manieren om uw code te verbeteren, bewezen door persoonlijke ervaring - 3Codeerconventies zijn een reeks richtlijnen die zijn opgesteld door ontwikkelingsteams. Ze bevatten richtlijnen voor codeerstijl en -technieken voor elk aspect van de code. Deze conventies kunnen voor het hele bedrijf of voor een specifiek project worden geschreven. Coderingsconventies zijn over het algemeen specifiek voor elke programmeertaal en hebben betrekking op bestandsorganisatie, inspringing, opmerkingen, declaraties, operators, spaties, naamgevingsconventies, programmeertechnieken en -principes, programmeerregels, best practices voor architectuur, enzovoort. Het belangrijkste voordeel van bepaalde standaarden is dat de code er hetzelfde uitziet en in dezelfde stijl is geschreven. Dit maakt het leesbaarder en helpt programmeurs code te begrijpen die door een andere programmeur is geschreven. Als de codeerstandaarden tijdens het ontwikkelingsproces consequent worden gevolgd en toegepast, het zal in de toekomst gemakkelijker zijn om uw code te onderhouden en uit te breiden, deze te herstructureren en integratieconflicten op te lossen. Codeerconventies zijn om een ​​aantal redenen belangrijk voor programmeurs:
  • 40-80% van de kosten van software gaat naar het onderhoud ervan,
  • Bijna geen enkele software wordt gedurende zijn hele leven door de auteur onderhouden,
  • Codeerconventies verbeteren de leesbaarheid van de broncode doordat programmeurs nieuwe code sneller kunnen begrijpen.
Eerlijk gezegd ben ik een grote fan van codeerstandaarden. Voor mij is het logisch om tijd te besteden aan het bespreken en ruziën over hen, aangezien het een waardevolle bezigheid is die u in de toekomst tijd en moeite zal besparen. Codeconventies moeten regelmatig worden herzien. Regels kunnen worden gewijzigd van "vereist" naar "optioneel" en vice versa. Als sommige ervan niet werken zoals verwacht, moeten ze worden herzien of uit de richtlijnen worden verwijderd.

3. Gebruik codebeoordelingen

Een codereview is een van de krachtigste tools voor codeverbetering. 10 manieren om uw code te verbeteren, bewezen door persoonlijke ervaring - 4Waarom? Omdat de code zal worden bekeken door die experts die hem niet hebben geschreven. En een frisse blik is erg handig. En een codereview is vaak wat helpt voorkomen dat ronduit vreselijke code wordt geschreven. Ik weet dat codebeoordelingen niet altijd mogelijk zijn, omdat je een andere persoon moet vinden die bereid is er een te doen. Maar dat betekent niet dat u deze tool niet moet gebruiken. Integendeel: codereviews zijn een reden om gelijkgestemde mensen te vinden die ook de kwaliteit van hun code moeten verbeteren. Trouwens, wie houdt je tegen om ze hier op CodeGym te vinden? Op een plek waar iedereen programmeur wil zijn.

4. Schrijf unittests

Mijn favoriete techniek voor het verbeteren van code is absoluut het schrijven van unit-tests. Hoe meer je schrijft, hoe beter. Bij computerprogrammering is unit testing een softwareontwikkelingsproces waarbij het kleinste testbare stukje broncode, een unit genoemd, individueel en onafhankelijk wordt getest om te zien of het werkt zoals verwacht. Dit zal u helpen fouten in uw algoritmen en/of logica te ontdekken voordat u uw code vrijgeeft. Omdat het testen van eenheden vereist dat uw code op de juiste manier wordt gestructureerd, moet de code worden opgesplitst in kleinere, meer gerichte functies. Elk is verantwoordelijk voor een enkele bewerking op een dataset, in plaats van grote functies die verschillende bewerkingen uitvoeren (het principe van enkele verantwoordelijkheidzegt hallo...). Het tweede voordeel van het schrijven van goed geteste code is dat u kunt voorkomen dat u code breekt wanneer u kleine wijzigingen aanbrengt in bestaande functionaliteit. Wanneer de eenheidstests mislukken, zullen ze u vertellen dat er iets verkeerd is geschreven. Op het eerste gezicht lijkt de ontwikkelingstijd die wordt besteed aan het schrijven van unittests een extra kostenpost. Unit-tests zullen in de toekomst echter tijd besparen bij het debuggen. Dit zou een stapsgewijs proces moeten zijn. Dus laten we verder gaan met een glimlach — we zullen tests schrijven voor elke methode en klasse :D

5. Gebruik tools om de codekwaliteit te verbeteren

Er is geen ontwikkelaar die nog nooit een fout heeft gemaakt. Doorgaans vangt de compiler syntaxis- en rekenkundige problemen op en geeft de stacktracering weer. Maar er kunnen nog steeds problemen optreden die de compiler niet opmerkt. Bijvoorbeeld onjuist geïmplementeerde vereisten, onjuiste algoritmen, onjuist gestructureerde code of een ander potentieel probleem dat de gemeenschap uit ervaring kent. De enige manier om dit soort fouten op te sporen, is door een meer ervaren ontwikkelaar te vragen je code te beoordelen, toch? Maar deze aanpak is geen wondermiddel en zal niet veel veranderen. Voor elke nieuwe ontwikkelaar in het team zou je een extra paar ogen moeten hebben die naar zijn/haar code kijken. Gelukkig zijn er veel tools die je kunnen helpen de kwaliteit van je code te controleren. Ik heb Checkstyle, PMD, FindBugs en SonarQube gebruikt in mijn werk aan verschillende projecten. En er zijn ook anderen. Ze worden meestal allemaal gebruikt om de codekwaliteit te analyseren en enkele nuttige rapporten te genereren. Heel vaak worden deze rapporten gepubliceerd door continue integratieservers zoals Jenkins.

6. Schrijf eenvoudige en duidelijke code

10 manieren om uw code te verbeteren, bewezen door persoonlijke ervaring - 5Schrijf altijd eenvoudige, begrijpelijke en logische code. Mensen hebben de neiging ingewikkelde code te schrijven om te bewijzen dat ze het kunnen. Eenvoudige en logische code werkt altijd goed, leidt tot minder problemen en is meer uitbreidbaar. Goede code is de beste documentatie. Als je een opmerking wilt toevoegen, vraag jezelf dan af: "Hoe kan ik de code verbeteren zodat deze opmerking niet nodig is?" — Steve McConnel.

7. Lees de documentatie

10 manieren om uw code te verbeteren, bewezen door persoonlijke ervaring - 6Een van de belangrijkste gewoonten van goede programmeurs is het lezen van veel documentatie. Of het nu gaat om specificaties, JSR's, API-documenten, tutorials of iets anders, het lezen van documentatie helpt u een solide basis te leggen voor uw beste programmering. Last but not least, vergelijk jezelf niet met anderen. Jezelf vergelijken met anderen leidt alleen maar tot negatieve gevoelens en ongezonde concurrentie. Ieder mens heeft zijn of haar eigen sterke en zwakke punten. Dit betekent dat het belangrijk is om ze te kennen en met ze samen te werken. Maak een inventaris van jezelf - maak een lijst van je sterke punten en werk eraan. Programmeren is een waar genoegen: geniet ervan.

"De constante van de een is de variabele van de ander."

Alan J.Perlis

8. Volg interessante bloggers

Duizenden enthousiastelingen over de hele wereld werken met en schrijven over dezelfde technologieën. Blogs worden vaak door de programmeurs zelf geschreven en de meeste delen persoonlijke meningen en ervaringen. Via blogs kun je verschillende perspectieven op dezelfde technologie zien. Je kunt zowel goede als slechte technologieën op blogs zien. Lees in ieder geval artikelen op de Coding Dojo Blog en CodeGym :) Volg goede blogs en reageer op berichten, deel uw mening.

9. Lees boeken over het vak

Niets kan een goed boek vervangen. Een goed boek leert basisconcepten in een veel eenvoudigere vorm en is van toepassing op dingen in de echte wereld. Hun auteurs zijn zelf geweldige programmeurs. Door boeken te lezen, kun je leren van de ervaring van iemand anders. Ik stel voor dat je "Effective Java" van Joshua Bloch leest. Dit boek bevat achtenzeventig onmisbare vuistregels voor programmeurs: de best werkende oplossingen voor de programmeerproblemen waar je dagelijks mee te maken krijgt. Het bevat de meest praktische, gezaghebbende richtlijnen voor het schrijven van effectieve, goed ontworpen programma's. Als je net begint met Java en nog geen programmeerervaring hebt, kun je "Sams Teach Yourself Java 2 in 24 Hours" lezen. En voor het schrijven van schone code is er een uitstekend boek, "Clean Code", door Robert Martin. Na het gelezen te hebben,

10. coderen! Code! Code!

Je kunt geen goede programmeur worden door alleen een boek uit je hoofd te leren. Het is gemakkelijk om over theoretische concepten te praten. Maar je kunt alleen de beperkingen van een taal leren of best practices uitwerken als je code schrijft. Om een ​​goede programmeur te worden, moet je daarom veel code schrijven. Als je een beginner bent, begin dan met het schrijven van programma's voor eenvoudige taken zoals de Fibonacci-reeks, palindromen, de driehoek van Pascal, enz. Ga dan verder met grotere taken zoals een binaire zoekboom, enz. Als je op zoek bent naar een online platform om Java te oefenen programma's, kijk dan eens naar Coding Ground . Werk je een weg door programmeercursussen en ik garandeer je dat je vaardigheden veel beter zullen zijn. Een andere optie is om de Harvard CS50-cursus te volgen, die gratis is.

Laten we samenvatten

De persoon die geen fouten maakt, is degene die niets doet. Daarom verzamelen we ons geduld en scherpen we, als een hardwerkende sprinkhaan, onze codeervaardigheden aan. Om dit te doen, vergeet niet:
  • Lees de code van anderen
  • Geef en vraag om codebeoordelingen
  • Schrijf unittesten
  • Gebruik tools om uw code te verbeteren
  • Schrijf eenvoudige en begrijpelijke code
  • Lees de documentatie geschreven door degenen die dat konden
  • Volg interessante programmeurs
  • Lees boeken over het beroep
  • Code! Code! Code!
Opmerkingen
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION