Methoden kommentieren

Codix

Bekanntes Mitglied
Hier sind Methoden aus einem Quellcode, die ausführlich kommentiert werden müssen.

Kann jemand diese Methoden Zeile für Zeile richtig kommentieren, was jede Zeile jeweils bedeutet.

[CODE lang="java" title="Methoden"]// die Methode zum Ausschneiden
@FXML
protected void ausschneiden(ActionEvent event) {
// den ausgewählten Text erlangen
String text = editor.getSelectedText();

// Instanz inhalt der Klasse ClipboardContent erzeugen
ClipboardContent inhalt = new ClipboardContent();
inhalt.putString(text);
systemClipboard.setContent(inhalt);
// Instanz umfang der Klasse IndexRange erzeugen
IndexRange umfang = editor.getSelection();

// festlegen, welcher Text ausgeschnitten werden soll
String origText = editor.getText();
String ersterTeil = StringUtils.substring(origText, 0, umfang.getStart());
String letzterTeil = StringUtils.substring(origText, umfang.getEnd(), StringUtils.length(origText));
editor.setText(ersterTeil + letzterTeil);
// Einfügemarke positionieren
editor.positionCaret(umfang.getStart());

}

// die Methode zum Kopieren
@FXML
protected void kopieren(ActionEvent event) {
String kopierenText = editor.getText();
final Clipboard clipboard = Clipboard.getSystemClipboard();
final ClipboardContent inhalt = new ClipboardContent();
inhalt.putString(kopierenText);
clipboard.setContent(inhalt);
}

// die Methode zum Einfügen
@FXML
protected void einfügen(ActionEvent event) {

String clipboardText = systemClipboard.getString();

IndexRange umfang = editor.getSelection();

// den ausgewählten Text erlangen
String origText = editor.getText();

int endPos = 0;
String updatedText = "";
String ersterTeil = StringUtils.substring(origText, 0, umfang.getStart());
String letzterTeil = StringUtils.substring(origText, umfang.getEnd(), StringUtils.length(origText));

updatedText = ersterTeil + clipboardText + letzterTeil;

if (umfang.getStart() == umfang.getEnd()) {
endPos = umfang.getEnd() + StringUtils.length(clipboardText);
} else {
endPos = umfang.getStart() + StringUtils.length(clipboardText);
}

editor.setText(updatedText);
editor.positionCaret(endPos);

}
[/CODE]


Danke im Voraus
 

httpdigest

Top Contributor
Solche Kommentare sind einfach nur unnötig:
Java:
// Instanz inhalt der Klasse ClipboardContent erzeugen <- unnötig
ClipboardContent inhalt = new ClipboardContent();
...
// Instanz umfang der Klasse IndexRange erzeugen <- unnötig und wahrscheinlich falsch
IndexRange umfang = editor.getSelection();
zumal beim letzten Kommentar wahrscheinlich sogar ein Copy&Paste-Fehler des ersten Kommentares passierte...

Desweiteren:
Kann jemand diese Methoden Zeile für Zeile richtig kommentieren, was jede Zeile jeweils bedeutet.
Und du kannst das nicht, weil?
 
K

kneitzel

Gast
Wollen wir das nicht einfach umdrehen? Was genau verstehst Du nicht an dem Code? Das klingt extrem nach Hausaufgabe und die solltest Du selbst lösen und wir sollten Dir nur bei Verständnisproblemen helfen.

Wenn das keine Hausaufgabe ist: @httpdigest hat ja schon klar geschrieben, dass so Kommentare unnötig sind. Ich gehe sogar noch weiter: Sie sind extrem kontraproduktiv und zeigen maximal, dass der Code an sich unleserlich ist. Da helfen dann aber keine Kommentare sondern schlicht ein Refactoring des Codes ...
 

Codix

Bekanntes Mitglied
Solche Kommentare sind einfach nur unnötig:
Java:
// Instanz inhalt der Klasse ClipboardContent erzeugen <- unnötig
ClipboardContent inhalt = new ClipboardContent();
...
// Instanz umfang der Klasse IndexRange erzeugen <- unnötig und wahrscheinlich falsch
IndexRange umfang = editor.getSelection();
zumal beim letzten Kommentar wahrscheinlich sogar ein Copy&Paste-Fehler des ersten Kommentares passierte...

Desweiteren:

Und du kannst das nicht, weil?
@httpdigest: ich stelle Fragen, nicht um solche Gegenfragen zu bekommen, die völlig unangemessen sind.
Weil ich überfordert bin. Schon mal was von Krisen gehört? Oder willst du mir jetzt etwa wieder ins Gewissen reden(dass ich es ja doch lieber perfekt lernen sollte, bevor ich so etwas frage) und dich dann ausreden, dass du mich pseudohaft motivieren willst?

Entweder hast du eine passende Antwort parat oder du lässt es, denn für PseudoDiskussionen habe ich keine Zeit.
 

httpdigest

Top Contributor
Ich glaube, wir haben die Phase 2, 3 und 4 hier schon sofort übersprungen und sind schon bei Phase 5. :)
Aber, um nochmal auf Phase 2 zurückzukommen: Wieviel Euros bietest du denn für solch eine Auftragsarbeit, bei der du offensichtlich nicht die geringste Lust hast, es selbst zu erledigen oder dir dabei helfen zu lassen?
 
K

kneitzel

Gast
Danke für die Klarstellung, dass es nur um Hausaufgaben geht. Die wird aber wohl niemand hier für Dich machen. Fragen zum Verständnis sind immer gerne willkommen, aber irgendwie läuft es bei Dir immer auf fertige Lösungen hinaus...

Ansonsten noch ein paar generelle Tipps:
a) Zu den Klassen gibt es Dokumentation. Die wirst Du hoffentlich schon kennen! Ansonsten auch der Hinweis zu Google: Man kann z.B. auch nach Dingen suchen wie "JavaFX ClipboardContent example" - das habe ich jetzt nicht geprüft, aber da wirst Du bestimmt einiges finden - und auch mit gewissen Kommentaren...
b) Du beschäftigst Dich jetzt schon relativ lange mit Java. Eine Entwicklungsumgebung mit Debugger wirst Du hoffentlich haben und bedienen können. Also da Breakpoints setzen, das Programm aufrufen und dann einfach mal schauen, was in den Variablen so drin stecht und beobachten, was der Code so macht ....
c) Die Funktion des Codes sollte klar sein - aber vorsichtshalber einfach noch der Hinweis: Da geht es um die Zwischenablage mit Copy, Paste und Cut. Wenn Dir unklar ist, was diese Operationen machen, dann probiere es mit einem GUI Editor. Text rein schreiben und schauen, was er bei den Operationen macht... Mal mit Text ausgewählt und mal nicht .. (Sprich: Was passiert, wenn Du Text markiert hast und Du aus der Zwischenablage einfügst?) ==> Damit wirst Du zumindest die grobe Funktionalität erfassen. Es mag Abweichungen geben, aber mit der groben Beschreibung dürfte das Meiste klar werden ...

Natürlich ist die Liste nicht vollständig. Das ist so ein Minimum. Ich würde generell mit so Code spielen. Was kann alles verändern und wie verändert sich dann das Verhalten? So bekommt man ein deutlich tieferes Verständnis.

Damit bin ich dann aber jetzt auch raus. Hinweise, wie Du Java lernen / begreifen könntest, hattest Du schon sehr viele. Die Hinweise werden aber ignoriert und somit wird auch dies eine reine Zeitverschwendung sein fürchte ich...
 

Codix

Bekanntes Mitglied
also wenn das Kommentieren für euch schon zu viel ist, aber Romane zu anderen irrelevanten Themen so wichtig ist, dann schliesse ich den Pfad, denn ich wollte keine Diskussion mit Schwätzern anfangen, sondern sachliche Antworte haben.

Dies ist kein Kaffeeklatschforum und ich bin keine Hausfrau. Und die Lage ist nicht die Urlaubslage mit 1000 Stunden Zeit zum Quasseln. Sucht euch andere Gesprächspartner, anscheinend habt ihr Quasselbedürfnisse & wollt nicht wirklich konstruktiv beitragen.
 

httpdigest

Top Contributor
Nochmal die Frage, wieviel du denn bietest.
Davon können es dann ja andere Leute abhängig machen, ob sie ihre Zeit mit der Lösung deiner Aufgabe verbringen und sich noch den einen oder anderen Euro dazugewinnen wollen.
Wenn du also einfach eine Hausaufgabe reinstellst und wirklich nur an deren Lösung interessiert bist (Auftragsarbeit), am besten gleich dazuschreiben: €100,- oder so. Dann wird sich auch sofort jemand finden und es entsteht eben keine lange Diskussion.
Als Tipp für die Zukunft.
 

Codix

Bekanntes Mitglied
Nochmal die Frage, wieviel du denn bietest.
Davon können es dann ja andere Leute abhängig machen, ob sie ihre Zeit mit der Lösung deiner Aufgabe verbringen und sich noch den einen oder anderen Euro dazugewinnen wollen.
Wenn du also einfach eine Hausaufgabe reinstellst und wirklich nur an deren Lösung interessiert bist (Auftragsarbeit), am besten gleich dazuschreiben: €100,- oder so. Dann wird sich auch sofort jemand finden und es entsteht eben keine lange Diskussion.
Als Tipp für die Zukunft.
du bist ein voreingenommener Geldgeier, welcher mir best. Verhaltensweisen unterstellt und ich würde dich gern blockieren, denn deine Beiträge sind nur störend.
 

thecain

Top Contributor
Und du bist einfach nur faul und schummelst dich durchs Studium/Ausbildung. Dann erwartest du auch noch das dir deine Hausaufgaben gemacht werden. Ich glaube du vergisst, das wir hier zum Antworten nicht bezahlt werden und das zum "Spass" machen.
 
K

kneitzel

Gast
du bist ein voreingenommener Geldgeier, welcher mir best. Verhaltensweisen unterstellt und ich würde dich gern blockieren, denn deine Beiträge sind nur störend.
Ich habe Dir eine PM geschickt, denn ich muss Dein Verhalten nicht öffentlich diskutieren. Die Aussagen von @httpdigest sind aber die, die wirklich immer schön sachlich bleiben. Aber ich bezweifle, dass er Interesse an so etwas hat - der Vorschlag war also kein Angebot von seiner Seite, dir die Lösung für 100€ zu geben oder so.

Und statt die Hausaufgaben zu erstellen (Halte ich für einen Betrug, denn Du gibst fremde Leistungen für Deine eigenen aus - und wenn ich da mitmache, mache ich mich meiner Meinung nach mit schuldig, denn dass dieser Betrug stattfinden wird, ist ja offensichtlich!) wäre eine online Session zur Erläuterung des Codes deutlich besser. Dann verstehst Du, was der Code macht und dann könntest Du die Kommentare selbst schreiben. Aber da ich deine Threads aus der Vergangenheit kenne: Das Risiko wäre mir zu groß, dass Dir zu viel Vorkenntnisse fehlen und dann bin ich hinterher der Böse / Unfähige, der so eine einfache Sache (Dir!) nicht erläutern konnte. Danke, aber nein danke ... Wäre auch meine Empfehlung an jeden Anderen im Forum (Ok, evtl. ist einer jung und braucht das Geld ... :) )

Und was das Blocken angeht: Ja, wie das funktioniert könnte ich Dir auch erläutern ... Da könntest Du ja einen Thread zu eröffnen, denn hier ist das off topic.
 

LimDul

Top Contributor
So in etwa?
[CODE lang="java" title="Methoden"]
@FXML
protected void ausschneiden(ActionEvent event) {
// Gets the selected Text from the Editor
String text = editor.getSelectedText();

// creates a new Clipboard Content
ClipboardContent inhalt = new ClipboardContent();
// Puts the selected text in the Clipboard Contents
inhalt.putString(text);
// Sets the Contents in the system Clipboard
systemClipboard.setContent(inhalt);
// Gets the Selection Rang
IndexRange umfang = editor.getSelection();

// Gets the text from the editor
String origText = editor.getText();
// get the first part of the text
String ersterTeil = StringUtils.substring(origText, 0, umfang.getStart());
// gets the last part of the text
String letzterTeil = StringUtils.substring(origText, umfang.getEnd(), StringUtils.length(origText));
// set the editor text from first and last part.
editor.setText(ersterTeil + letzterTeil);
// Set caret Position at the start
editor.positionCaret(umfang.getStart());

}
[/CODE]
 

Neue Themen


Oben