Archive for the ‘Must know’ Category
Testowanie wyjątków w Javie
Rafał Roppel, architekt oprogramowania w Wirtualnej Polsce, opisuje techniki testowania wyjątków w Javie.
Code without tests is bad code
Code without tests is bad code. It doesn’t matter how well written it is; it doesn’t matter how pretty or object-oriented or well-encapsulated it is. With tests, we can change the behavior of our code quickly and verifiably. Without them, we really don’t know if our code is getting better or worse.
Michael Feathers,
Working Effectively With Legacy Code
Argumenty a parametry metody
Czy istnieje różnica pomiędzy argumentami a parametrami metody?
- Parametry metody to nazwy zmiennych w jej deklaracji/definicji
- Argumenty metody to nazwy zmiennych przekazywane do niej w momencie wywołania
public class Calculator {
// a i b są parametrami
public int add(final int a, final int b) {
return a + b;
}
}
public class CalculatorTester {
public static void main(String[] args) {
Calculator c = new Calculator();
// 1 i 5 są argumentami
final int sum = c.add(1, 5);
System.out.println("sum = " + sum);
}
}
Prawo Demeter
Prawo Demeter (ang. Law of Demeter [LoD]) znane także jako Zasada minimalnej wiedzy (ang. Principle of Least Knowledge) zostało sformułowane przez Iana Hollanda w 1987 roku na Northeastern University. Zastosowane do programowania obiektowego brzmi następująco:
Read the rest of this entry »
Polimorfizm, przesłanianie, przeciążanie – MUST KNOW!
- Polimorfizm dotyczy przesłaniania, nie przeciążania.
- Typ referencji (zmiennej) określa jakie metody mogą być wywoływane.
- Typ obiektu określa, która przesłonięta metoda zostanie użyta w czasie wywołania.
- Typ referencji określa, która przeciążona metoda zostanie użyta w czasie kompilacji.