Hva er de beste praksis i OOP
Hei, etter
min beste svaret på spørsmålet ditt ville være å gi deg en liste over dårlige rutiner – hva du burde &'; t gjøre:
Verste praksis
Dette innlegget nummerer noen av de verste praksis som du er nødt til å være forsiktig IKKE BRUKE
Fra kategorien. “ ikke engang tenke på å gjøre dette &"; her er noen dårlige eksempler på kode møtt:
Finder metoden returnerer Objekt
Problem: Avhengig av antall forekomster funnet finneren metoden returnerer et tall som representerer antall forekomster – eller! Hvis bare én funnet avkastning selve objektet
Don &';. T gjøre dette! Dette er en av de verste koding praksis og det introduserer tvetydighet og søl koden på en måte som når en annen utbygger kommer inn i bildet vil hun eller han hater deg for å gjøre dette
. Løsning: Hvis det &'; s behov for slike 2 funksjoner: telling og henter en forekomst gjøre opprette 2 metoder en som returnerer teller og en som returnerer eksempel, men aldri en enkelt metode gjør begge veier
Problem:. En avledet dårlig praksis er når en finder metoden returnerer enten en enkelt forekomst enten funnet en rekke forekomster hvis mer enn ett funnet. Dette lat programmering stil er gjort mye av programmerere som gjør den forrige generelt
. Løsning: Å ha dette på hendene mine ville jeg tilbake en rekke lengde 1 (en) hvis bare én forekomst er funnet og en array med lengde > 1 hvis flere forekomster funnet. Videre finner ingen forekomster i det hele tatt ville returnere null eller et utvalg av lengde 0, avhengig av programmet
Programming til et grensesnitt og bruk kovarianter retur typer
Problem:. Programmering til et grensesnitt og bruk covariant tilbake typer og støping i ringer koden
. Løsning: Bruk i stedet den samme super definert i grensesnittet for å definere variabelen som skal peke til den returnerte verdien. Dette holder programmering til et grensesnitt tilnærming og din kode rent.
Klasser med mer enn 1000 linjer er en lurking fare
Metoder med mer enn 100 linjer er en lurking fare også!
Problem: Noen utviklere stappe for mye funksjonalitet i en klasse /metode, å være for lat til å bryte funksjonaliteten – dette fører til lav samhold og kanskje til høy kopling – ! det omvendte av et svært viktig prinsipp i OOP
Løsning: Unngå å bruke for mye indre /nestet klasser – disse klassene skal KUN brukes på en per behov basis, du skjønner &'; t nødt til å gjøre en vane å bruke dem! Ved hjelp av dem kan føre til flere problemer som begrenser arv. Utkikk etter kode duplikat! Den samme eller for lignende kode kan allerede finnes i noen super implementering eller kanskje i en annen klasse. Hvis det &'; s i en annen klasse som ikke er en super du også brutt samhold regelen. Se opp for statiske metoder – kanskje du trenger et verktøy klasse for å legge
Metoder ha færre parametre eller ikke i det hele tatt er best
Problem: Lazy programmerere legge til én parameter i stedet for å overbelaste en metode eller bare lage en annen metode for en mer kompleks funksjonalitet
Løsning:. Da delegering kan også brukes på metoder i samme klasse, ikke bare i metoder i forskjellige klasser. Det &'; s bedre å overbelaste en klasse som tar parameter og delegater samme funksjonalitet til en allerede eksisterende metoden i stedet for å legge en ekstra parameter til en metode eller – gjøre en annen metode hvis det &'; s tilfelle
Naughty programmerere bruke refleksjon for å få tilgang til ikke-tilgjengelige varer
Problem:. Som du vet, ved hjelp av refleksjon tillater deg tilgang non-tilgjengelige felt og /eller metoder, og det er en klasse av utviklere som bruker det mer enn på en eksepsjonell-saken bare
Løsning:. slutte å gjøre det! De modifiserings ble plassert der for en grunn, don &'; t prøver å bruke api krysset over grensene fastsatt av de originale utviklerne siden de ble plassert der for en grunn, og det &';. Er ikke din jobb å gjøre deres
bruker generika. Don &'; t skape en lapskaus i stedet for noen kode
Problem:. Avslutt ved hjelp av ikke-type trygg uttrykk, avslutter setter sopp sammen med fugler og vin fordi du &'; re ikke ment å skape en spesiell rett til middag, men en godt skrevet kode
Løsning: Bruk generics –. de er et nivå av sikkerhet i pluss for å skrive god ren kode. De kommer til å bli strippet etter kompilering prosessen, slik at ingen ytelse overhead der.
Bruk samlinger i stedet for nakne matriser eller skreddersydde datastrukturer. Don &'; t gjenoppfinne hjulet
Problem: Noen utviklere som gjenoppfinne hjulet.. . Det &'; s ikke noe galt i å elske å lage, men det &'; s tynn linje mellom skapelsen og gjenskapelsen bare for moro skyld av skapelsen
Løsning: I stedet for å bruke arrays du kan bruke spesialiserte samling klasser som har spesialisert algoritmer for ulike behov: sortering, sette inn, kø, parsing etc. Det sparer du tid på re-implementere dem, de er allerede testet og vist seg å fungere uten problemer, og de er basert på velkjente algoritmer for best mulig ytelse. Må skrive om dine personlige implementeringer bare hvis du er strengt forpliktet av dine krav til søknaden, og det &'; s ingen implementering allerede eksisterende i api
Mer på
http://centraladvisor.com
B /
. .
akselerert læring
- Er Viljestyrke Secret of Success?
- Hvor kommer din fokus gå til?
- Oppvåknende ny Archetypes
- Leksehjelp er et Lively Learning
- Hvorfor Veiledning kan forbedre et barns Succes
- Hint og innsikt for å lære hvordan man spiller Guitar
- Hvordan lese-og-Husk 300-sider-daily
- Den beste måten å lære et språk - først velge riktig tools
- ESL Studenter lære raskere når de blir undervist ved hjelp av ESL klasserommet GAMES
- Hvordan Mind Mapping kan drastisk øke lese Speed
- Artikkel Six: The Quantum Hologram
- Nøklene til effektiv Studying
- 5 grunner til å ta et gratis online college course
- Ikke våg Reach Potential
- Endre ditt Affirmation
- motivasjon
- Hvordan å lære nye ferdigheter For Life
- Kan Imagination endre virkeligheten
- Nisje Meaning
- Ikke Air-gitar, men Air-Palm