1/59
Vocabulary flashcards covering OOP basics, Git/version control, Agile/Scrum, SOLID principles, Clean Architecture, testability practices, Moq/NUnit, Code Coverage, and real-world project examples (DeviceService).
Name | Mastery | Learn | Test | Matching | Spaced |
---|
No study sessions yet.
Klase
Nacrthi iz kojih se kreiraju objekti; definišu svojstva (atribute) i metode.
Metode
Ponašanja objekata; tipično male, sa opisnim imenima i jednom odgovornošću.
Objekti
Konkretne instance klase.
Interfejsi
Ugovori koji specificiraju potrebne metode; smanjuju sprezanje i olakšavaju testiranje.
Svojstva/Atributi
Kontrolisani podaci unutar objekata; pružaju enkapsuliran pristup stanju objekta.
Apstrakcija
Skrivanje detalja implementacije i izlaganje samo onoga što je neophodno.
Polimorfizam
Sposobnost različitih objekata da odgovore na istu poruku različitim ponašanjima.
Enkapsulacija
Skrivanje internog stanja i ograničavanje direktnog pristupa podacima objekta.
Nasleđivanje
Mehanizam po kojem klasa nasleđuje karakteristike od druge klase.
Princip jedinstvene odgovornosti (SRP)
Klasa treba da ima samo jedan razlog za promenu; jednu jasnu odgovornost.
Princip otvorenosti/zatvorenosti (OCP)
Softverski entiteti treba da budu otvoreni za proširenje, ali zatvoreni za modifikaciju.
Liskov princip supstitucije (LSP)
Podtipovi moraju biti zamenljivi za svoje bazne tipove bez menjanja ispravnosti.
Princip segregacije interfejsa (ISP)
Klijenti treba da zavise od malih, specifičnih interfejsa, a ne od velikih, opštih.
Princip inverzije zavisnosti (DIP)
Moduli visokog nivoa zavise od apstrakcija, a ne od konkretnih detalja.
Čista arhitektura
Arhitektura sa jasnom separacijom briga, olakšavajući testabilnost i supstituciju tehnologije; može dodati složenost za male projekte.
Separacija briga
Podela sistema na različite sekcije radi smanjenja preklapanja i sprezanja.
Git
Distribuirani sistem kontrole verzija gde svaki računar ima pun repozitorijum i promene se koordiniraju preko centralnog servera.
Kontrola verzija
Sistem koji prati promene koda tokom vremena, omogućavajući istoriju, poništavanje i saradnju.
Commit
Snimak promena sačuvanih u lokalnom repozitorijumu, često sa opisnom porukom.
Repozitorijum (Repo)
Mesto skladištenja koda i njegove istorije.
.gitignore
Fajl koji sadrži obrasce fajlova koje Git treba da ignoriše.
Add
Priprema promena za commit (git add).
Push
Otpremanje lokalnih commit-a na udaljeni repozitorijum.
Pull
Preuzimanje promena sa udaljenog repozitorijuma i njihovo spajanje u lokalnu granu.
Fetch
Preuzimanje promena sa udaljenog repozitorijuma bez spajanja.
Merge
Integracija promena iz jedne grane u drugu.
Clone
Kreiranje lokalne kopije udaljenog repozitorijuma.
Init
Inicijalizacija novog lokalnog repozitorijuma.
Grananje
Kreiranje paralelnih linija razvoja za nezavisan rad na funkcionalnostima.
Sprint
Vremenski ograničena iteracija u Scum-u, obično od jedne nedelje do jednog meseca.
Product Backlog
Uređena lista željenih karakteristika proizvoda i poboljšanja.
Sprint Backlog
Odabrane stavke iz Product Backloga koje se tim obavezuje da završi u Sprintu.
Inkremet
Zbir svih dovršenih stavki Product Backloga; mora ispunjavati Definiciju Gotovosti.
Korisnička priča
Lagani opis funkcije fokusiran na krajnjeg korisnika; najmanja jedinica vrednosti.
Definicija gotovosti (DoD)
Kriterijumi koji moraju biti ispunjeni da bi se rad smatrao završenim.
Scrum
Agilni okvir sa ulogama, događajima i artefaktima za iterativni razvoj.
Scrum Master
Olakšava Scrum događaje i pomaže u otklanjanju prepreka.
Product Owner
Predstavlja zainteresovane strane i prioritizuje Product Backlog.
Razvojni tim
Višefunkcionalna grupa koja isporučuje inkremente proizvoda.
Artefakt
Ishodi u Scrumu, kao što su Product Backlog, Sprint Backlog i Increment.
Sprint Review
Događaj za inspekciju inkrementa i prilagođavanje Product Backloga.
Sprint Retrospective
Sastanak za refleksiju i poboljšanje procesa i kvaliteta.
Imenica: Product Backlog
Uređena lista svega što se može uraditi na proizvodu.
Moq
Biblioteka za kreiranje mock objekata u testovima za simulaciju zavisnosti.
NUnit
Okvir za jedinično testiranje za .NET koji se koristi za pisanje i pokretanje testova.
Mock objekat
Test dubl koji oponaša ponašanje stvarnih zavisnosti sa programabilnim odgovorima.
Setup (u mockovima)
Konfigurišite kako mock treba da se ponaša kada se pozove metoda.
Verify (u mockovima)
Proverite da li su se određeni pozivi ili interakcije sa mockovima dogodili.
Pokrivenost kodom
Deo koda izvršenog tokom testova; veća pokrivenost ukazuje na to da je više koda testirano.
Injekcija zavisnosti (DI)
Pružanje zavisnosti komponenti spolja, umesto da ih ona sama kreira.
Interfejs
Ugovor koji definiše metode bez njihove implementacije.
CI (Kontinualna integracija)
Automatsko integrisanje i testiranje promena pri svakom commit-u na zajedničku glavnu granu.
CD (Kontinualna isporuka / primena)
CD = procesi za pripremu koda za izdavanje; Isporuka je ručna primena, Primena je automatsko izdavanje.
Jedinično testiranje
Testovi koji proveravaju pojedinačne jedinice koda (npr. funkcije, metode) u izolaciji.
DeviceService
Primer servisa koji upravlja Device objektima, ilustrujući SRP rukovanjem samo operacijama uređaja.
IDeviceRepository
Interfejs za operacije pristupa podacima vezanim za uređaje.
ILoggerService
Interfejs za funkcionalnost beleženja logova.
SDP (Jedinstvena odgovornost) Primer
DeviceService se fokusira na upravljanje uređajima bez rukovanja logovanjem ili persistencijom.
Prioritet (Product Backlog)
Redosled važnosti dodeljen stavkama backloga radi usmeravanja planiranja sprinta.
Increment Definicija gotovosti
Inkrement mora zadovoljiti DoD i biti spreman za objavljivanje.