![]() |
Kennt jemand ein inherited-Check-Tool?
Kennt jemand ein Tool, das überprüft, ob bei Methoden, die als "override" markiert sind, auch mindestens irgendwo ein "inherited" innerhalb der Methode aufgerufen wird?
Delphi selbst zeigt das ja leider nicht an... |
Re: Kennt jemand ein inherited-Check-Tool?
Ich bin mir nicht sicher, aber der Pascal Analyzer von Peganza (
![]() grüße, Daniel |
Re: Kennt jemand ein inherited-Check-Tool?
Es ist doch nicht verboten, den Vorgänger einer überschriebenen Methode aufzurufen...? Manchmal brauch mans, manchmal nicht. Dafür einen Analyzer würde bei meinen Projekten absolut sinnlos sein.
|
Re: Kennt jemand ein inherited-Check-Tool?
*ssssst*
Engaging full system check *miiiiiiieeeep* Loading... please wait *büüüpüüüpüüüpüüüüpüüüü* Finished loading, please stand by! *in die hose lunz* system ok! *ziiieeeep* Spaß bei seite, schreib dir doch selber ein Tool, so schwer ist es nicht ;) |
Re: Kennt jemand ein inherited-Check-Tool?
@alzaimar: Er will ja auch rausfinden, wo er vergessen hat den Vorgänger aufzurufen.
|
Re: Kennt jemand ein inherited-Check-Tool?
@Sanchez: Werd ich mir in dem Fall mal anschaun... vielleicht reicht ja die Trial für einen ersten komplettscan...
@alzaimar: Verboten nicht, aber ich bin jetzt schon einige Male auf die Schnauze gefallen, weil irgend ein Hiesl (ugs.) das inherited vergessen hatte. Bei uns ist das in der Regel so, dass bei override immer ein Inherited reinkommt. Falls nicht, wird trotzdem inherited reingeschrieben, aber auskommentiert + Kommentar, WARUM. Weil wozu gibts Ableitungsmechaniken, wenn man die Parent-Logik komplett ausklammern muss? Dann stimmt doch schon was in der Architektur nicht... Ist meine Meinung. @inherited: Ja könnte ich selber schreiben, aber warum das Rad neu erfinden, wenn es dafür schon was gibt? Muss nicht sein. Das steigert die Produktivität nicht unbedingt ;) |
Re: Kennt jemand ein inherited-Check-Tool?
Zitat:
Zitat:
Deine Frage sollte eher so lauten: >> Kennt jemand einen sauber implementierten Delphi-Parser? << Dann kann man sich das 1-fix-3 selber basteln. |
Re: Kennt jemand ein inherited-Check-Tool?
Zitat:
|
Re: Kennt jemand ein inherited-Check-Tool?
Zitat:
|
Re: Kennt jemand ein inherited-Check-Tool?
Der Aufruf von inherited ist ja nur im Konstruktor und Destruktor Pflicht.
(Eigentlich sollte der Compiler warnen, wenn im Konstruktor oder Destruktor inherited nicht aufgerufen wird. Bei C++ wird das automatisch vom Compiler erzwungen, was aber IMHO zu wenig Freiheit bietet. Bei Delphi gibt's zu viel Freiheit, denn man kann inherited im Destruktor auch weglassen oder an falscher Stelle aufrufen) Man kann ja im Sourcecode nach construktor und destructor suchen und so die Fehler entdecken. |
Re: Kennt jemand ein inherited-Check-Tool?
Zitat:
|
Re: Kennt jemand ein inherited-Check-Tool?
Wenn man auf alle Features verzichten würde, weil sie falsch angewendet zu Fehlern führen würden, würden nicht viele übrig bleiben.
|
Re: Kennt jemand ein inherited-Check-Tool?
Zitat:
Ich halte so ein Tool wirklich für sinnvoll, wenn das Team entschieden hat, in JEDER überschriebenen Methode zumindest als Bemerkung ein 'Inherited' stehen zu haben. Das ist eine Disziplin, die man so ruhig akzeptieren kann. Insofern würde ich so ein Tool selbst zusammenfrickeln. Es muss kein richtiger Parser sein, sondern nur ein Mustererkenner... |
Re: Kennt jemand ein inherited-Check-Tool?
Zitat:
Delphi-Quellcode:
ans Ende der Unit. Leider erhält man auch damit keine Meldung, welche abstrakte Methode noch nicht überschrieben wurde. Für diesen Zweck hätte ich gerne ein Tool -- kennt jemand eins?
implementation
if False then begin TMyConcreteClass.Create({ passende Dummy-Parameter }).Free; { ... } end; end. jkr |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:47 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz