Podczas czytania książki SCJP for Java 6 zauważyłem, iż dla Panów z Sun'a bardo ważnym jest by kod się kompilował, zapomnieli całkowicie o konwencji kodowania.
Pasjonaci kodowania często mówią, iż kod ma wyglądać dobrze, ma się czytać dobrze, przy pierwszym spojrzeniu mówi do nas jakie są jego zadania. By kod tak wyglądał podczas kodowania stosujemy: metodyki, wzorce, standardy, ale często zapominamy o podstawach, czyli tytułowej konwencji kodowana. Konwencja dokumentuje podstawy związane z pisaniem kodu, takie jak: formatowanie kodu, organizacja plików, komentowanie, deklaracje, wyrażenia, .... Można by pomyśleć, iż elementy tak podstawowe nie mogą wpłynąć na kod, ale jest całkiem inaczej, tak jak w życiu wszystko zaczyna się od podstaw.
Jako potwierdzenie mojej tezy, popełniłem małą klasę w PHP.
public class PHPInt {
private int $value = Integer.MIN_VALUE;
public static PHPInt __constructor(int $value) {
return new PHPInt($value);
}
public void __add(int $value) {
this.$value = this.$value + $value;
}
private PHPInt(int $value) {
this.$value = $value;
}
@Override
public String toString() {
return String.valueOf(this.$value);
}
}
Przekornie klasę bez zmian użyję w kodzie.
public class PHPCodeConvention {
public static void main(String[] args) {
PHPInt phpInt = PHPInt.__constructor(1);
phpInt.__add(1);
phpInt.__add(2);
System.out.println("PHPInt value = " + phpInt);
}
}
Trudno sobie wyobrazić, iż można w ten sposób zakodować klasę w javie, horror. Mam nadzieję, iż chociaż jedną osobę przekonałem by wpisał w google frazę 'java code convention'.
Pozdrawiam i zapraszam do komentowania.