Sie sollten beim Sehen nicht parsen callSomething()
(ich nehme an, Sie meinten es callSomething
eher als doSomething
). Der Unterschied zwischen a
und callSomething
besteht darin, dass eines eine Methodendefinition ist, während das andere ein Methodenaufruf ist.
Wenn Sie eine neue Definition sehen, möchten Sie überprüfen, ob Sie diese Definition hinzufügen können.
- Überprüfen Sie, ob die Funktion mit derselben Signatur noch nicht vorhanden ist
- Stellen Sie sicher, dass die Methodendeklaration im richtigen Umfang ausgeführt wird (dh können Methoden in anderen Methodendeklarationen deklariert werden?)
Angenommen, diese Prüfungen bestehen, können Sie sie Ihrer Karte hinzufügen und den Inhalt dieser Methode überprüfen.
Wenn Sie einen Methodenaufruf wie finden callSomething()
, sollten Sie die folgenden Überprüfungen durchführen:
- Existiert
callSomething
in Ihrer Karte?
- Wird es richtig aufgerufen (Anzahl der Argumente stimmt mit der gefundenen Signatur überein)?
- Sind Argumente gültig (wenn Variablennamen verwendet werden, sind sie deklariert? Kann in diesem Bereich auf sie zugegriffen werden?)?
- Kann callSomething von Ihrem Standort aus angerufen werden (ist es privat, öffentlich, geschützt?)?
Wenn Sie der callSomething()
Meinung sind , dass dies in Ordnung ist, hängt das, was Sie zu diesem Zeitpunkt tun möchten, wirklich davon ab, wie Sie es angehen möchten. Streng genommen können Sie, sobald Sie wissen, dass ein solcher Aufruf zu diesem Zeitpunkt in Ordnung ist, nur den Namen der Methode und die Argumente speichern, ohne auf weitere Details einzugehen. Wenn Sie Ihr Programm ausführen, rufen Sie die Methode mit den Argumenten auf, die Sie zur Laufzeit haben sollten.
Wenn Sie weiter gehen möchten, können Sie nicht nur die Zeichenfolge, sondern auch einen Link zur eigentlichen Methode speichern. Dies wäre effizienter, aber wenn Sie den Speicher verwalten müssen, kann dies verwirrend werden. Ich würde empfehlen, zuerst einfach an der Saite festzuhalten. Später können Sie versuchen, zu optimieren.
Beachten Sie, dass dies alles vorausgesetzt wird, dass Sie Ihr Programm lexxiert haben, was bedeutet, dass Sie alle Token in Ihrem Programm erkannt haben und wissen, was sie sind . Das heißt nicht, dass Sie wissen, ob sie zusammen noch einen Sinn ergeben. Dies ist die Analysephase. Wenn Sie die Token noch nicht kennen, sollten Sie sich zunächst darauf konzentrieren, diese Informationen zu erhalten.
Ich hoffe das hilft! Willkommen bei Programmers SE!