Cuprins
Abstracția în dezvoltarea de software este destul de importantă, deoarece ne permite să definim bucăți de cod care funcționează singure cu o complexitate comună, de multe ori putem folosi funcții abstracte care se aplică atât de multe cazuri încât le putem folosi oricând dorim.Dacă vedem programele în care este posibil să fi scris Piton În urma tutorialelor, vedem că sunt programe mici, cu maximum 15-20 de linii, cu toate acestea, dacă am dori să scriem un program mult mai mare, ar fi o mare problemă dacă nu ne ocupăm de abstractizare. Amintiți-vă că virtutea programatorului este că nu face o muncă inutilă, adică nu lucrează același lucru de două ori sau se repetă.
Să vedem următorul cod, calculează primele 10 numere ale unui Secvența Fibonacci:
fibs = [0, 1] pentru i în intervalul (8): fibs.append (fibs [-2] + fibs [-1])
Acest lucru duce efectiv la primele 10 numere
Ce se întâmplă acum dacă vrem ca utilizatorul să definească faptul că, în loc să fie 10 numere, este o cantitate dinamică, atunci ne recondiționăm codul după cum urmează:
fibs = [0, 1] num = input ('Câte numere Fibonacci doriți?') pentru i în intervalul (num-2): fibs.append (fibs [-2] + fibs [-1]) print fibs
Până acum totul pare normal, nu vedem nicio problemă tehnică, totuși există o problemă de filozofie de programare, de exemplu, dacă vrem să facem acest lucru în mai multe părți ale unui program, trebuie să scriem toate aceste rânduri iar și iar, acesta ar fi ceea ce numim muncă inutilă. Ceea ce numim abstracție este un cod mai scurt, în cazul în care ceea ce se întâmplă în spate este izolat, realizat în așa fel încât să funcționeze oriunde, încât să ne facem griji doar pentru a obține ceea ce este necesar pentru condițiile noastre, un mod mai abstract de a vedea codurile anterioare ar fi acesta:
num = input („Câte numere doriți?”) print fibs (num)
Să observăm că este total direct, cerem introducerea câte numere dorește utilizatorul, apoi imprimăm un rezultat, ceea ce se întâmplă este că am definit o funcție fibs în altă parte care ne permite să o invocăm oricând dorim, evitând nevoia pentru a face bucla de calcul din nou și din nou, făcând programul nostru mai lizibil și mai puțin complex.
Citibilitatea este totul atunci când dezvoltăm un program mare, gestionarea resurselor sistemului și eficiența sunt, de asemenea, importante, dar cum să îmbunătățim un program dacă nu îl înțelegem când îl citim, de exemplu acest cod:
page = download_page () freqs = compute_frequencies (page) for word, freq in freqs: print word, freq
Când îl citim, știm ce face și ce ar trebui să revină, aceasta este abstractizarea în cea mai pură stare, modul în care funcționează metodele și funcțiile în acest moment nu ne interesează, acum dacă eficiența și gestionarea resurselor devin problematice, lucrăm pur și simplu despre funcția și programul nu ar fi afectate, așa că am lucra o singură dată.
Acest lucru este totul pentru acest tutorial, ne-a mai rămas material pentru a continua să gândim și să ne îmbunătățim mentalitatea de programator, astfel încât să ne putem abstra codul și să lucrăm mult mai eficient.