Sind Annotations wirklich böse?
Eine Frage die ich mir schon des Öfteren gestellt habe: Sind Annotations wirklich böse? Auch bis vor kurzem bin ich noch zu keinem endgültigen Entschluss gekommen. Wenn man sich länger mit Doctrine beschäftigt, kann man ohnehin nicht aus, Annotations zu benutzten. Doch in der Community stößt das des Öfteren auf harte Kritik.
Annotations sind undurchsichtig.
Man benutzt Annotations nur zur Dokumentation.
Und mein absoluter Favorit:
Beim Entwickeln geht es nicht darum, dem Entwickler die Arbeit zu erleichtern sondern die Applikation möglichst schnell und durchschaubar umzusetzten.
Das erste Argument kann ich durchaus bejahen – denn Annotations sind wirklich undurchsichtig. Trotzdem wurden Annotations zunächst von Java verwendet. Seit JSR 175 (ab der Einführung von Java 5), gibt es Annotations. Eine Annotation beginnt immer mit einem @ – direkt danach beginnt der Name – bspw. @Deprecated. Man muss dazu sagen, dass Java dadurch auch Fehlermeldung ausgibt. Das heißt also auch, dass Annotations auch dafür gedacht sind, direkt im Programm zu handeln. Somit kann man das zweite Argument verneinen.
Und zu meinem Favoriten:
Beim Entwickeln geht es nicht darum, dem Entwickler die Arbeit zu erleichtern sondern die Applikation möglichst schnell und durchschaubar umzusetzten.
Wenn man schon so anfängt zu argumentieren, dann benötigt man weder Frameworks, noch PHP-Klassen, sondern einfach nur eine Datei, wo alle Abhandlungen abgebildet werden.
Fazit: Annotations sind zwar undurchsichtig, waren aber durchaus dafür gedacht, direkt ins Geschehen einzugreifen. Das heißt natürlich nicht, dass ab sofort jedes Framework Annotations benutzen muss – aber es heißt auch: Man kann sie bei Bedarf nutzten. Und mal ehrlich: Warum sollte man sonst eine getDocComment() Methode bieten, wenn man sie nicht nutzten kann.