Hvad er de bedste praksis i OOP?

Hej,

mit bedste svar på dit spørgsmål vil være at give dig en liste over dårlig praksis – hvad du shouldn af &'; t gøre:

rste praksis

Dette indlæg opregner nogle af de værste former for praksis, som du bliver nødt til at være carefull IKKE AT BRUGE

Fra den kategori af. “ tror ikke selv at gøre dette &"; Her er nogle dårlige eksempler på kode stødt: Salg

Finder metode returnerer Objekt

Problem: Afhængig af antallet af forekomster fundet finderen metode returnerer et tal, der repræsenterer antallet af forekomster – eller! Hvis kun én fundet returnerer den faktiske objekt

Don &';. T gøre dette! Dette er en af ​​de værste kodning praksis og det indfører tvetydighed og messer koden på en måde, at når en anden udvikler kommer i spil, hun eller han vil hade dig for at gøre dette

Løsning:. Hvis der &'; s behov for sådanne 2 funktionaliteter: optælling og hente en instans gøre oprette 2 metoder en, der returnerer den tæller, og en, der returnerer eksempel, men aldrig en enkelt metode gør begge veje

Problem:. En afledt dårlig praksis er, når en Finder metode returnerer enten en enkelt hændelse fandt enten en vifte af begivenheder, hvis mere end én fundet. Denne doven programmering stil er gjort Fix af programmører, der gør den foregående generelt

Løsning:. Har denne på mine hænder jeg ville vende tilbage en vifte af længde 1 (en) hvis kun én forekomst er fundet og et array med længden > 1 hvis flere forekomster fundet. Desuden ville finde nogen forekomster overhovedet returnere null eller en vifte af længde 0 afhængig af anvendelsen

Programmering til en grænseflade og brug covariant retur typer

Problem:. Programmering til en grænseflade og brug covariant returnere typer og støbning i den kaldende kode

Løsning:. Brug i stedet den samme supertype defineret i grænsefladen for at definere de variable, der skal pege på den returnerede værdi. Dette holder programmering til en grænseflade tilgang og din kode rent.

Klasser med mere end 1000 linjer er en lurer fare
Metoder med mere end 100 linjer er en lurer faren også!

Problem: Nogle udviklere proppe for meget funktionalitet i en klasse /metode, som er for doven til at bryde funktionaliteten – dette fører til lav samhørighed og måske til høj kobling – ! den inverse af et meget vigtigt princip i OOP
Løsning: Undgå at bruge for meget indre /indlejrede klasser – disse klasser skal bruges KUN på en pr behov basis, du don &'; t nødt til at gøre en vane at bruge dem! Brug dem kunne føre til flere problemer som begrænsende arv. Lookout for kode to eksemplarer! Det samme eller for tilsvarende kode kunne allerede findes i nogle supertype implementering eller måske i en anden klasse. Hvis det &'; s i en anden klasse som ikke er en supertype du også overtrådt samhørigheden reglen. Watch out for statiske metoder – måske du har brug for en hjælpeprogram klasse for at tilføje

Metoder have færre parametre eller slet ikke er bedst

Problem: Lazy programmører tilføje endnu parameter i stedet at overbelaste en metode eller bare oprette en anden anden metode for en mere kompleks funktionalitet
Løsning:. Husk delegation kunne også anvendes i metoder i samme klasse ikke kun i metoder i forskellige klasser. Det &'; s bedre at overbelaste en klasse, der tager parameter og uddelegerer den samme funktionalitet til en allerede eksisterende metode i stedet for at tilføje en ekstra parameter til en metode eller – gøre en anden metode, hvis det &'; s tilfældet

Naughty programmører bruger refleksion kalde ikke-tilgængelige varer

Problem:. Som du ved, ved hjælp af refleksion tillader dig adgang til ikke-tilgængelige felter og /eller metoder, og der er en klasse af udviklere, der bruger, at mere end undtagelsesvis tilfælde kun

Løsning:. Afslut gør det! De modifikatorer blev sat der for en grund, don &'; t forsøger at bruge API passage over grænserne fastsat af de oprindelige udviklere, da de blev sat der for en grund, og det &';. Ikke er dit job at gøre deres

bruger generiske lægemidler. Don &'; t skabe en gryderet i stedet for noget kode

Problem:. Afslut ved hjælp af ikke-typen sikker udtryk, quit indsætte svampe sammen med fugle og vin, fordi du &'; re ikke meningen at skabe en særlig skål til middag, men en velskrevet kode

Løsning: Brug generiske –. de er et sikkerhedsniveau i plus for at skrive god ren kode. De vil blive frataget efter kompilering proces, så ingen ydeevne over hovedet der.

Brug samlinger i stedet for nøgne arrays eller specialfremstillede datastrukturer. Don &'; t genopfinde hjulet

Problem: Nogle udviklere som genopfinde hjulet.. . Der &'; s ikke noget galt i at elske at skabe, men der &'; s tynd linje mellem skabelse og re-etablering netop af hensyn til skabelsen
Løsning: I stedet for at bruge arrays du kunne bruge specialiserede indsamling klasser, som har specialiseret algoritmer til forskellige behov: sortering, indsætter kø, parsing etc. Det sparer dig tid re-gennemføre dem, de er allerede testet og vist sig at arbejde uden problemer, og de er baseret på velkendte algoritmer for bedste ydelse. Må omskrive dine personlige implementeringer kun hvis du strengt forpligtet af din ansøgning krav, og der &'; s ingen implementering allerede findes i api
Mere på
http://centraladvisor.com
B /
. .

accelereret læring

  1. Sådan tænke en Genius
  2. Hvordan at skrive din egen Lyrics?
  3. ESL Studerende lærer hurtigere, når de bliver undervist Brug ESL Classroom SPIL
  4. 9 nøgler til at sikre din Optjening Future, undgå at blive forældet og Burning Out
  5. Sådan træner dit ubevidste sind
  6. Hvordan man lærer at kommunikere Som teenager Brug dine sanser
  7. Betale det fremad Student Mentoring Program
  8. 3 Memory Øvelser
  9. *** Oplev en middel til at forbedre Ordblindhed At ingen kender
  10. Træn dig selv måder at spille elektrisk guitar On Line
  11. Essay Skrivning Online Skills
  12. RSS Trickle For bedst Alternativ på din stald En måde links.
  13. Studerende Byg Bedre læring færdigheder med Creative Visualisering
  14. Skrive din sigt papir I ti dage eller mindre
  15. Forskning Papers skriftligt service
  16. Inspire din ansatte: Tag Lederskab i din arbejdsplads
  17. Gør Inquirying Minds Vid dette?
  18. Hvordan til at fjerne pletter
  19. Få løsning af din matematikopgave Just In One Click med Statistik Hjælp
  20. 5. og 8. klasse resultere Pakistan