ExecutePayPalWorkflow();
, das könnte stattdessen auch einer dieser Namen sein:
%Vor%oder ist es nicht wirklich wichtig ... weil jedes dieser Verben so ziemlich nachvollziehbar ist, was Ihre Absicht durch die anderen Wörter zeigt, die darauf folgen "PayPalWorkflow"
Benennen ist etwas, das ich sehr ernst nehme und beim Codieren wirklich viel darüber nachdenke:
Diese Diskussion kann für jede Sprache gelten. Ich habe einfach die beiden Haupt-Tags C # und Java hier eingefügt, was gut genug ist, um solide Antworten oder Erfahrungen zu erhalten.
Sollten deine Methodennamen normalerweise nicht zu Beginn Verben sein? Wie in Ihrem Beispiel könnten Sie einfach das Verb Pay
anstelle von Perform
+ Payment
verwenden.
Bearbeiten :
Wie Sie eines der von Ihnen aufgelisteten Verben (Execute, Do, Run, Perform) verwenden könnten, glaube ich nicht, dass sie überhaupt notwendig sind. Sie vermitteln keine zusätzlichen Informationen. Die Tatsache, dass Sie eine Methode aufrufen (oder ausführen oder ausführen oder ausführen), hängt von Ihrer Syntax ab.
Wenn Sie dem Aufrufer anzeigen möchten, dass Ihre Methode möglicherweise zurückgegeben wird, bevor die Aktion abgeschlossen wurde, gibt es eine Konvention dafür in .NET: Begin * und End *.
Die einzige Ausnahme, an die ich denken kann, ist, wenn Sie eine Abstraktion für einen allgemeinen Prozess haben. In diesem Fall müssen Sie ein Verb wie Execute oder Run verwenden, da was Sie gerade tun, noch nicht definiert ist.
Es scheint, dass Ihre Namenskonvention unter einem Mangel an Abstraktion leidet. Wenn etwas "ausführbar" ist, dann sollte die Methode "execute ()" lauten und Sie sollten den Klassennamen verwenden, um anzugeben, was das "ausführbare" Verhalten implementiert.
Ob Sie "Ausführen", "Ausführen" oder "Ausführen" verwenden, hängt vollständig vom Kontext des Systems ab. Wenn Sie diese als Jobs anzeigen, die ausgeführt werden müssen, verwenden Sie nicht "Ausführen". Wenn es sich um Aufgaben handelt, die ausgeführt werden müssen, ist "run" ebenfalls eine schlechte Wahl. Wichtig ist, dass alle diese Methoden konsistent sein sollten (was die Interface-Deklaration erzwingen wird).
Ich sage nichts von dem oben genannten. Unterschiedliche Präfixe verletzen IntelliSense.
Manchmal beeinflusst die Sprache, die Sie vor c # / java verwendet haben, den Begriff, den Sie verwenden werden. Zum Beispiel gibt es eine Menge Delphi-Entwickler, die
bevorzugen PerformSomeTask()
Umgekehrt habe ich eine Menge von VB (ich glaube?) Einfluss gesehen, mit einer Tendenz, Methoden als
voranzutreiben RunSomething()
Ich vermeide persönlich jede Art von Konvention, weil Ihr Code ähnlich aussehen wird. In einer Empfehlung, die ich von einem Arbeitskollegen auf LinkedIn erhielt, erwähnte er, dass ein von mir gepflegtes Projekt mehr als 2.000.000 Zeilen Code aufwies. Ich wusste nicht, dass das Projekt so groß war, aber eine Sache, die ich von diesem Projekt gelernt habe, war, dass dein Code nicht so aussehen soll :
%Vor%Es macht einfach alles so unlesbar. Namenskonventionen sollten mit einer großen Dosis von Realitätssalz getroffen werden.
Ich denke, der Name der Methode sollte einfach widerspiegeln, was sie tut. An einem Tag könnte es PerformSomeTask
sein, an einem anderen Tag könnte es DoImportantThing
sein. Aber mit 20+ Perform[YourMethodNameHere]
ist nicht sehr intuitiv.
Ich finde Abstraktion die bessere Form selbsterklärenden Codes als lange Methodennamen.
Vielleicht ist es besser für Sie, so etwas zu haben:
%Vor% Was ist das PayPalWorkflow
überhaupt? Es bedeutet mir momentan nichts ...
Vielleicht möchten Sie payPal.startPaymenetProcess();
mit diesem oder
Sie wollen es mit 1 Methodenaufruf initiieren und beenden?
Sie müssen Ihr System besser beschreiben und abstrahieren und dann folgen die einfachen Namen.
Lass uns dein Beispiel vergessen ...
und hier sind meine Gedanken zu do/perform/run/execute
run
- hier geht es um kontinuierlichen Prozess. Etwas, das dauern wird. Kann während des Laufens usw. konfiguriert werden.
do
- Ich werde das do
-Wort nicht verwenden, weil es in Java (meine Arbeitssprache) ein Befehl ist, der von der Sprache
perform
- ... eine Aufgabe. Etwas, das kurz und schnell und wiederholt ausgeführt wird
execute
- der letzte Schritt von etwas Komplexem mit vielen Vorbereitungen, die vorher notwendig sind
Semantik beiseite, in Java ist public void run()
fast immer korrekt. Dies liegt an der Runnable
, RunnableFuture
und Executor .
Ja, behaltet es einfach. Zuallererst sollten die Funktionsnamen niedriger sein. Dann, anstatt etwas wie PeformReportGeneration
, willst du generateReport
. Es vermittelt die gleiche Botschaft prägnanter.
In deinem Fall ist es schwieriger, da Workflow
nicht wirklich ein Verb ist ... wie wäre es mit PerformPayPalWorkflow
, sondern nur mit run
, z. B.:
Wenn Sie nur ein PayPal
-Objekt haben, das mehr als nur einen Workflow erledigt, ... bin ich mir nicht sicher. Ich brauche mehr Informationen darüber, wie der Code eingerichtet ist, was ein Workflow in diesem Fall ist, usw.
Tags und Links java c# naming-conventions