Bin nur ich das, oder ist die Override-Annotation in Java tatsächlich nutzlos, wenn man in einer anständigen IDE programmiert?
Ja, ich verstehe, dass die Override-Annotation verhindert, dass ich versehentlich eine Supermethode nicht überschreibe, indem ich den Methodennamen falsch schreibe oder die Methodenparameter durcheinander bringe. Jedoch sagt mir der gesunde Menschenverstand, dass dies in modernen IDEs sehr unwahrscheinlich ist, aus folgenden Gründen:
- Die IDE zeigt ein Marker (z.B. ein kleines Symbol) auf der linken Seite des Editors an, der anzeigt, ob die Methode überschrieben wird/überschreibt. Daher ist keine explizite Override-Annotation erforderlich, um die Überschreibungsabsicht anzuzeigen.
- Wenn ich kurz davor bin, eine Methode umzubenennen und ich einen solchen Überschreibungsmarker sehe, bearbeite ich niemals direkt den Methodennamen - ich greife instinktiv nach der Tastenkombination, die den Umbenennungsassistenten der IDE öffnet. Ebenso, wenn ich die Methodensignatur ändern möchte und den Überschreibungsmarker sehe, verwende ich instinktiv den Methodensignaturassistenten der IDE anstatt es von Hand zu machen (außer bei sehr einfachen Fällen). Methodennamen und Signaturen werden also fast immer korrekt geändert, so dass das Hinzufügen von Override-Annotationen (meiner Meinung nach) wenig mehr als eine paranoide und nutzlose Sicherheitsprüfung ist - genau wie das übermäßige Verwenden von 'final'.
Sicher, wenn man seinen Java-Code in Notepad oder was auch immer schreiben muss, hilft die Override-Annotation offensichtlich. Aber mein Punkt ist, in einer modernen IDE ist die erhöhte Sicherheit, die diese Annotation bietet, den Rückgang in der Lesbarkeit nicht wert. Irgendwelche Meinungen?