Beste kodingspraksis, tips og mer for Android

Foto av Joshua Earle på Unsplash

Jeg har vært en utvikler i over to år nå, og måten jeg har kodet på har endret seg ved å lære og dele med andre. I løpet av de siste to årene har jeg sett tusenvis av kodelinjer, noen var anstendige, noen var stygge og hadde heldigvis få sexy også. Hvis du er en programmerer og du kan lese en kode som å lese en avis, slår ingenting det, ikke engang den hete jenta du følger på Instagram. Så la oss grave deg inn.

Kodingstips og ikke triks

Nested If's

Jeg hater dette, det gjør jeg seriøst, du har uttalelser som krever flere sjekker som denne under koden, og det går så dypt veldig dypt In, i koding som faktisk er dårlig .

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

       }
   }

Og saken er at det kan unngås, du kan helt, som dette. Som du ser nedenfor er en mer lesbar og lett å forstå.

if (kjøretøy == null || kjøretøy.getCar () == null || kjøretøy.getCar (). getModel () == null) retur;

int pris = kjøretøy.getCar (). getModel (). getPrice ();

Erklære mislighold

Bestem og erklær standard nå i konstanter om nødvendig for forskjellige primitive eller objekter som du ofte bruker. Hvorfor? Her er det for f.eks. du har en pris (streng) -variabel, som du returnerer null, tom streng og "N / A" på forskjellige steder. Ikke gjør dette. Det er en forbrytelse mot menneskeheten . Bare velg favoritten din fordi konsistensen er mindre utsatt for feil.

Streng Concatenation i loop

Saken er at du sannsynligvis allerede vet noen av disse tingene, ettersom du er badass, men du er så dårlig at du bare lar det ligge igjen for ditt fremtidige selv, forutsatt at han / hun vil være mer badass og refaktorere det, og ignorerer det faktum at han / hun kan være en lat rumpe. Jeg håper du får poenget med f *** g .

Nei
for (Strengnavn: navn) {
    navn + = navn;
}
Jepp
StringBuilder nameBuilder = new StringBuilder ();
for (Strengnavn: navn) {
    nameBuilder.append (navn);
}

Naming

Korte navn på variabler med kort levetid og gode og betydningsfulle for lang levende fordi de vil være sammen med deg i lang tid. De er familie.

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

Valgfri

For java er dette den desidert beste løsningen for feilen på milliarder dollar, og det kan se ut som en billig løsning, men du må bruke den hvis du er hard på kontanter.

Komme tilbake

Returner tomme samlinger og lister hvor du ikke kan returnere null, ellers blir milliarder billioner eller gjør det, hvis du er en zillionaire .

Kognitiv kompleksitet

Definisjon: Det er en psykologisk karakteristikk eller psykologisk variabel som indikerer hvor kompleks eller enkel er rammene og persepsjonelle ferdighetene til en person.

Å programmere en metode med nestet om ellers og større størrelse forårsaker høy kognitiv kompleksitet betyr mindre forståelse . Så bedre å dele opp store metoder i logisk atskilte mindre og bruke ovenfor Nested Ifs triks for å redusere det. Også SonarLint et statisk kodeanalyseverktøy beregner dette for deg i sanntid i studio kan du bruke ekkolodd for å se hvordan du gjør det?

lambda

Det er et must å holde koden din presis og krøll {} gratis, da ikke alle kurver er bra. Heldigvis med Android-gradle> 3.0.0 de har bygget, er det støtte i studio-sjekk her.

Oppdater

Oppdater alltid verktøyene, ferdighetene og språket ditt. Jeg mener at språket ditt (gå kotlin / flagre / reager / hybrid / innfødt ... Våre 13 grunner til!) Ellers vil dette skje.

Google er forbanna, og de kan blokkere din ***.

Region

Bruk regioner for å skille kodefragmentene dine i store klasser som britisher gjorde med skill og regel, veldig effektiv spør indianerne.

// region meningsfylt navn på det logisk atskilte området
gjør arbeidet ditt her.
// endregion

Start

Lag startmetode for å starte aktivitet i selve aktiviteten for å unngå å gjenta deg selv, fordi hvem som elsker det, og hvis du allerede bruker det, kan du ikke lagre tusen parametere som nedenfor.

offentlig statisk tomromstart (Context context, Bundle bundle) {
    Intensstarter = new Intent (context, NextActivity.class);
    starter.putExtra (AppConstants.BUNDLE, bunt);
    context.startActivity (starter);
}

Maks parametere i metode

Det er ingen grenser for at ingen parametere er tillatt i funksjoner, men det betyr ikke at du skal gjøre det, akkurat som å ha en GF ikke betyr at du ikke kan ha en annen, men moralsk folk moral. Ideelt sett skal det ikke være mer enn 3-4 parametere, og hvis du trenger mer enn det, bruker du Parameter Object-mønster.

formatering

Kodeformatering er veldig viktig for lesbarhet, det bør være en vertikal og horisontal begrensning av koden som du legger i metodene dine, med mindre du bruker metodene dine for søppeltømming. Studio har en vertikal linje som ikke bør krysses eller være forberedt på å dø.

ikke strekk grensen.Wow jeg liker det!

Ett lite råd

John skogen. Kode for lesbarhet

Noen gode artikler for Android-folkene mine

Riktig måte å implementere Splash-skjermen

Fra de store nerdene

Slik blir du mer produktiv i Android med android studio plugins

Hvordan lage den perfekte Singleton?

Mindorks

Jeg skriver her du kan følge oss. Vi har folk enda bedre enn meg.

Verktøy og plugins

Du trenger ikke å vite alt, du har lov til å gjøre feil så lenge noen overser deg og forteller deg nei !!! Prøv disse verktøyene nedenfor.

SonarLint

Jeg anbefaler dette, jeg har brukt det og jeg fikk vite om dette fra en kollega, noen ganger kan de være til hjelp, tuller. Den har flere funksjoner som er best å bare skanne de modifiserte klassene, og den vil automatisk kritisere deg for den dårlige koden din og hvor stygg du kan være noen ganger. BTW Kognitiv kompleksitet vi snakket tidligere hjelper det.

FindBug

Det er et program som bruker statisk kodeanalyse for å finne feil i java-koden, akkurat som SonarLint. For å vite mer om FindBug, sjekk dette. Fellas vipper en mynt eller hva som helst, men velg et av disse verktøyene.

For en liste over alle de beste og mest brukte plugins, sjekk nedenfor

Kodingsprinsippene

FAST

Det er et mnemonisk forkortelse som hjelper deg med å definere de fem grunnleggende objektorienterte designprinsippene:

  • Enkelt ansvarsprinsipp
  • Åpen lukket prinsipp
  • Liskov substitusjonsprinsipp
  • Grensesnitt-segregeringsprinsipp
  • Avhengighetsinversjonsprinsipp

For fullstendig referansesjekk.

Guttespeiderstyret

Definisjon: La campingplassen renere enn du fant den

Fra clean code av onkel bob, jeg liker denne regelen, så når jeg jobber med en dårlig kode, reflekterer jeg, rengjør, reduserer og gjør den mer meningsfull og lesbar enn før. Hold alltid omgivelsene rene fordi presidenten er for opptatt med å bygge en vegg.

Ikke gjenta deg selv (TØR)

Skriv aldri den samme koden to ganger. Gjør det til din jernkledde regel, og folk forbyr dette strengt i ditt rike.

Kritikerprinsippet

OK, det er helt sammensatt, men det er veldig logisk. Når du vurderer koden til lagkameratene dine ikke er en venn. Vær deres erkefiende, ikke la dem gjøre feil som du kanskje må rense en dag. Å rense andres dritt vil bare gjøre hånden din skitten. Håndhev god praksis i kodevurderingen.

Det er flere slike tips og beste fremgangsmåter hvor det kommer fra, bare klikk på denne lenken, stol på meg at jeg ikke ville publisert noen annonser, og dere alle kan bidra, foreslå og redigere feilene mine. Du er gode mennesker. Jeg stemmer på deg.

Fortsettelse følger…

Takk for at du leser denne artikkelen. Husk å klikke for å anbefale denne artikkelen hvis du synes det var nyttig. Det betyr mye for meg.

Sjekk alle toppartiklene på blog.mindorks.com

La oss også koble til på facebook, twitter, github og linkedin.

Klapp, del hvis du liker det, og følg meg for neste trekk.