A to Z
Glossary
Every concept in this sheet, plus the smaller terms it uses. Select a concept to open its card.
A
- Abstraction, interfaces and abstract classes
- Abstraction exposes what something does and hides how.
B
- Branches and pull requests
- A branch is an independent line of work.
C
- Classes and objects
- A class is a blueprint that bundles data (fields) with behaviour (methods).
- Code review
- Code review is another engineer reading a change before it merges, checking correctness, readability, tests and design, and leaving comments the author responds to.
- Commits and commit messages
- A commit is a saved snapshot of your project with a message.
- Composition over inheritance
- Composition builds behaviour by holding other objects ("has a") instead of inheriting from them ("is a").
D
- Debugging
- Debugging is finding why code behaves wrongly: read the error and stack trace, reproduce the bug reliably, form a guess, and check it with a debugger, breakpoints or targeted prints.
E
- Encapsulation
- Encapsulation hides an object's internal state and exposes only methods that keep it valid, using
privatefields or naming conventions like a leading underscore. - Exceptions and error handling
- An exception signals that something went wrong, such as a missing file.
I
- Inheritance
- Inheritance lets a subclass reuse and extend a parent class, forming an "is a" relationship, such as
SavingsAccountextendingBankAccount.
M
- Merging, conflicts and rebase
git mergecombines branches with a merge commit.
P
- Polymorphism
- Polymorphism means one interface, many implementations: calling
shape.area()runs the right method for a circle or a square.
S
- SDLC and Agile
- The software development life cycle covers requirements, design, build, test, release and maintenance.
- SOLID principles
- Five design guidelines: single responsibility, open for extension but closed for modification, Liskov substitution, interface segregation and dependency inversion.
U
- Undoing mistakes in Git
git restorediscards file edits,git commit --amendfixes the last local commit,git revertundoes a pushed commit with a new one, andgit reflogfinds commits you thought were lost.- Unit and integration tests
- Unit tests check one function or class in isolation.