Indholdsfortegnelse
Abstraktion i softwareudvikling er ret vigtig, da det giver os mulighed for at definere stykke kode, der fungerer alene med fælles kompleksitet, mange gange kan vi bruge abstrakte funktioner, der gælder for så mange sager, at vi kan bruge dem, når vi vil.Hvis vi ser de programmer, som vi muligvis har skrevet i Python Efter selvstudierne ser vi, at det er små programmer med maksimalt 15 til 20 linjer, men hvis vi ville skrive et meget større program, ville det være et stort problem, hvis vi ikke håndterer abstraktion. Husk, at programmørens dyd er, at han ikke udfører unødvendigt arbejde, det vil sige, at han ikke arbejder det samme to gange eller gentager sig selv.
Lad os se følgende kode, den beregner de første 10 tal af a Fibonacci -sekvens:
fibs = [0, 1] for i i område (8): fibs.append (fibs [-2] + fibs [-1])
Dette resulterer effektivt i de første 10 tal
Hvad sker der nu, hvis vi vil have brugeren til at definere, at det i stedet for at være 10 tal er en dynamisk mængde, så vi re-betinger vores kode som følger:
fibs = [0, 1] num = input ('Hvor mange Fibonacci-tal vil du have?') for i inden for rækkevidde (num-2): fibs.append (fibs [-2] + fibs [-1]) print fibs
Indtil videre virker alt normalt, vi ser ikke noget teknisk problem, men der er et problem med programmeringsfilosofi, for eksempel hvis vi vil gøre dette i flere dele af et program, skal vi skrive alle disse linjer igen og igen, dette ville være det vi kalder unødvendigt arbejde. Det, vi kalder abstraktion, er kortere kode, hvor det, der sker bag, er isoleret, lavet på en sådan måde, at det fungerer overalt, at vi kun bekymrer os om at opnå det, der er nødvendigt for vores forhold, en mere abstrakt måde at se de tidligere koder ville være dette:
num = input ('Hvor mange tal vil du have?') print fibs (num)
Lad os bemærke, at det er helt direkte, vi beder om input, hvor mange tal brugeren vil have, så udskriver vi et resultat, det er det, der sker, at vi har defineret en fibs -funktion et andet sted, der giver os mulighed for at påberåbe det, når vi vil, undgå behovet at lave beregningssløkken igen og igen, hvilket gør vores program mere læsbart og mindre komplekst.
Læsbarhed er alt, når vi udvikler et stort program, styring af systemressourcer og effektivitet er også vigtigt, men hvordan man forbedrer et program, hvis vi ikke forstår det, når vi læser det, for eksempel denne kode:
side = download_page () freqs = compute_frequencies (side) for word, freq i freqs: udskriv ord, freq
Når vi læser det, ved vi, hvad det gør, og hvad det skal returnere, dette er abstraktion i sin reneste tilstand, hvordan metoderne og funktionerne fungerer på dette tidspunkt ikke interesserer os, nu hvis effektivitet og ressourceforvaltning bliver problematisk, arbejder vi simpelthen om funktion og programmet ville ikke blive påvirket, så vi ville kun arbejde én gang.
Dette er alt for denne vejledning, vi har materiale tilbage til at fortsætte med at tænke og forbedre vores programmørmentalitet, så vi kan abstrahere vores kode og arbejde meget mere effektivt.