Szerintem ez _ronda_, nagyon, főleg a dupla deklaráció, amely igen gyorsan pofáncsapható egy jó irányzott refactorral:
1 private int _pozitiveNumber;
2 public int PozitiveNumber
3 {
4 get
5 {
6 return _pozitiveNumber;
7 }
8 set
9 {
10 if (value < 0)
11 {
12 throw new Exception();
13 }
14
15 _pozitiveNumber = value;
16 ValueChanged();
17 }
18 }
Ez ugyanaz, 4 sorral kevesebb, nincs redundancia, nincs tévedés, hogy mit és mivel használsz, az IDE pedig legenerál ebből a 14 sorból 8 sort:
1 private int pozitiveNumber;
2 public int getPozitiveNumber()
3 {
4 return this.positiveNumber;
5 }
6 public void setPositiveNumber(int value)
7 {
8 if (value < 0)
9 {
10 throw new Exception();
11 }
12 this.pozitiveNumber = value;
13 ValueChanged();
14 }
Ez a hozzáállás miatt nem képeznek már normális fejlesztőket, csak kódlapátolókat.
Mindig kódlapátolókat képeznek, akikből jobb-rosszabb fejlesztő lesz. De abból még nem lett sikeres program, ha egy junior nekiállt optimalizálni. Abból se lett sikeres program, ha egy optimalizálásban tapasztalatlan senior áll neki optimalizálni.
--
http://wiki.javaforum.hu/display/FREEBSD