Bedste kodningspraksis, tip og mere til Android

Foto af Joshua Earle på Unsplash

Jeg har været en udvikler i over to år nu, og den måde, jeg har kodet på, er ændret ved at lære og dele med andre. I de sidste to år har jeg set tusinder af kodelinjer, nogle var anstændige, andre var grimme og heldigvis havde få sexede. Hvis du er en programmør, og du kan læse en kode som at læse en avis, slår ingenting det, ikke engang den hot girl, du følger på Instagram. Så lad os grave dig ind.

Kodningstips og ikke tricks

Nested If's

Jeg hader dette, jeg seriøst, du har udsagn, der kræver flere kontroller som denne nedenfor kode, og det går så dybt virkelig dybt , i kodning, som faktisk er dårlig

if (køretøj! = null) {
       if (vehicle.getCar ()! = null) {
           if (vehicle.getCar (). getModel ()! = null) {
               int pris = køretøj.getCar (). getModel (). getPrice ();
           }

       }
   }

Og tinget er, at det kan undgås, at du helt kan, som dette. Som du ser nedenfor er en mere læselig og let at forstå.

if (køretøj == null || Vehicle.getCar () == null || vehicle.getCar (). getModel () == null) returnering;

int pris = køretøj.getCar (). getModel (). getPrice ();

Angiv misligholdelse

Bestem og erklær standard nu i konstanter, hvis det er nødvendigt for forskellige primitive eller objekter, som du ofte bruger. Hvorfor? Her er det f.eks. du har en pris (streng) -variabel, som du returnerer nul, tom streng og "N / A" forskellige steder. Gør ikke dette. Det er en forbrydelse mod menneskeheden . Vælg bare din favorit, fordi konsistensen er mindre udsat for fejl.

String sammenkædning i løkken

Sagen er, at du sandsynligvis allerede kender nogle af disse ting, da du er badass, men du er så badass, at du bare overlader det til dit fremtidige selv, hvis du antager, at han / hun vil være mere badass og refaktorere det, og ignorere det faktum at han / hun kunne være en doven røv. Jeg håber, du får f *** g-punktet .

Nix
for (strengnavn: navne) {
    navn + = navn;
}
Jep
StringBuilder nameBuilder = new StringBuilder ();
for (strengnavn: navne) {
    nameBuilder.append (navn);
}

Navngivning

Korte navne på variabler med kort levetid og gode og meningsfulde for lang levende, fordi de vil være sammen med dig i lang tid. De er familie.

For f.eks. indeksvariabel inden for for loop kan være 'i', men som klassevariabel skal være 'indeks'

Valgfri

For java er dette langt den bedste løsning, der er fastsat for fejlen på milliarder dollars, og det kan se ud som en billig løsning, men du skal bruge den, hvis du er hård på kontanter.

Vend tilbage

Returner tomme samlinger og lister overalt, hvor du ikke kan returnere nul, ellers bliver milliarder billioner eller gør det bro, hvis du er en zillionær .

Kognitiv kompleksitet

Definition: Det er en psykologisk egenskab eller psykologisk variabel, der angiver, hvor kompleks eller enkel er en persons ramme og perceptuelle evner.

Ved programmering af en metode med indlejret, hvis ellers og større størrelse forårsager høj kognitiv kompleksitet, betyder mindre forståelse . Så bedre at opdele store metoder i logisk adskilte mindre og bruge ovenfor Nested If's trick til at reducere det. Også SonarLint et statisk kodeanalyseværktøj beregner dette for dig i realtid i studiet, du kan bruge sonar til at se, hvordan du har det?

Lambda

Det er et must at holde din kode præcis og krøllet {} fri, da ikke alle kurver er gode. Heldigvis med Android-gradle> 3.0.0, de har bygget, er det support i studietjek her.

Opdatering

Opdater altid dine værktøjer, færdigheder og dit sprog, jeg mener, at dit sprog barn (gå kotlin / flagre / reager / hybrid / indfødt ... Vores 13 grunde til !!) ellers sker dette.

Google er forbandet, og de kan blokere din ***.

Område

Brug regioner til at adskille dine kodefragmenter i store klasser, ligesom britisheren gjorde med skille- og regelpolitik, meget effektive bede indianere .

// region meningsfuldt navn på din logisk adskilte region
gør dit arbejde her.
// endRegion

Start

Opret startmetode for at starte aktivitet i selve aktiviteten for at undgå at gentage dig selv, for hvem der elsker det, og hvis du allerede bruger det, skal du samle dataene ikke bare passere tusind parametre som nedenfor.

offentlig statisk tomrumsstart (kontekstkontekst, bundtet bundt) {
    Intentstarter = ny Intent (kontekst, NextActivity.class);
    starter.putExtra (AppConstants.BUNDLE, bundle);
    context.startActivity (starter);
}

Maksimale parametre i metode

Der er ingen grænse for, at ingen parametre er tilladt i funktioner, men det betyder ikke, at du skal gøre det, ligesom at have en GF ikke betyder, at du ikke kan have en anden, men moralsk folk moralsk. Ideelt bør der ikke være mere end 3-4 parametre, og hvis du har brug for mere end det, skal du bruge parameterobjektmønster.

Formatering

Kodeformatering er meget vigtig for læsbarheden, der skal være en lodret og vandret begrænsning af koden, som du lægger i dine metoder, medmindre du bruger dine metoder til bortskaffelse af affald. Studio har en lodret linje, som ikke bør krydses eller være parat til at dø.

stræk ikke din grænse.wow jeg kan godt lide det!

Råd

John woods. Kode til læsbarhed

Nogle gode artikler til mine Android-folk

Den rigtige måde at implementere Splash-skærm på

Fra de store nerder

Sådan bliver du mere produktiv i Android med Android Studio-plugins

Hvordan laver man den perfekte Singleton?

Mindorks

Jeg skriver her, du kan følge os. Vi har folk endnu bedre end mig.

Værktøjer og plugins

Du behøver ikke at vide alt, du har lov til at begå fejl, så længe nogen overser dig og fortæller dig NEJ !!! Prøv disse værktøjer nedenfor.

SonarLint

Jeg anbefaler dette, jeg har brugt det, og jeg fik kendskab til dette fra en kollega, nogle gange kan de være hjælpsomme, narre. Det har flere funktioner, der er bedst til bare at scanne de ændrede klasser, og det vil automatisk kritisere dig for din dårlige kode, og hvor grim du nogle gange kan være. BTW Kognitiv kompleksitet, vi talte tidligere, hjælper det.

FindBug

Det er et program, der bruger statisk kodeanalyse til at finde fejl i java-kode ligesom SonarLint. Hvis du vil vide mere om FindBug, skal du kontrollere dette. Fella flip en mønt eller hvad, men vælg et af disse værktøjer.

For en liste over alle de bedste og mest anvendte plugins, se nedenfor

Kodningsprincipperne

SOLID

Det er et mnemonisk akronym, der hjælper med at definere de fem grundlæggende objektorienterede designprincipper:

  • Enkelt ansvar princip
  • Åben-lukket princip
  • Liskov substitutionsprincip
  • Grænsefladesegregationsprincip
  • Afhængighedsinversionsprincip

For fuldstændig referencekontrol.

Drengespejderreglen

Definition: Lad campingpladsen være renere, end du fandt den

Fra ren kode af onkel bob kan jeg godt lide denne regel, så når jeg arbejder med en dårlig kode, reflekterer jeg, renser, reducerer og gør den mere meningsfuld og læsbar end før. Hold altid dine omgivelser rene, fordi præsident er for travlt med at bygge en mur.

Gentag ikke dig selv (DRY)

Skriv aldrig det samme stykke kode to gange, gør det til din jernklædte regel, og folk forbyder dette strengt i dit rige.

Kritikernes princip

Okay, det er helt sammensat, men det er meget logisk. Når du gennemgår kode for dine holdkammerater, er du ikke en ven. Vær deres erkefiende, lad dem ikke begå fejl, som du muligvis skal rense en dag. Rengøring af andres lort gør kun din hånd beskidt. Håndhæv god praksis i kodevurderinger.

Der er flere sådanne tip og bedste praksis, hvor det kommer fra, bare klik på dette link, stol på mig, jeg ikke ville vise nogen annoncer, og I kan alle bidrage, foreslå og redigere mine fejl. I er gode mennesker. Jeg stemmer for dig.

Fortsættes…

Tak, fordi du læser denne artikel. Sørg for at klikke på for at anbefale denne artikel, hvis du fandt det nyttigt. Det betyder meget for mig.

Tjek alle de øverste artikler på blog.mindorks.com

Lad os også oprette forbindelse på facebook, twitter, github og linkedin.

Klap, del, hvis du kan lide det, og følg mig til næste træk.