Ist meine Klasse richtig kommentiert?

bob651

Aktives Mitglied
Also man sollte ja immer Kommentare hinzufügen, habe ich gemacht. Was würdet ihr anders kommentieren, was weglassen, was fehlt?

Code:
public class LinkedList123<T> implements listss12312<T> {
    // reference zum head node
        private Node head;
        private static int listCount;
      
      
public LinkedList()
        {
            // leere liste
            // new node ohne daten
            head = new Node(null);
            listCount = 0;
        }
    public void add(T asd) {
        // bestimme element am ende der liste adden
        {
            Node temp = new Node(asd);
            Node current = head;
            // start von head bis ende
            while(current.getNext() != null)
            {
                current = current.getNext();
            }
            //
            //letzter nodes "next" referenz wird neuer node
            current.setNext(temp);
            listCount++;// variable erhöhen
      
    }}

  
    public void add(int index, T asd) {
        // bestimmter element in bestimmte position adden
        {
            Node temp = new Node(asd);
            Node current = head;
            // gehe zum bestimmten index oder zum letzen, je nachdem was zuerst kommt      
            for(int i = 1; i < index && current.getNext() != null; i++)
            {
                current = current.getNext();
            }
          
            //setze referenz vom neuen node zu dem vom this.nodes "next"
            temp.setNext(current.getNext());
          
            //setze this.nodes "next"  referenz zu einem neuen node
            current.setNext(temp);
            listCount++;// variable erhöhen
      
    }}

  
    public T contains(T asd) {
         return asd;
    }

  
    public int indexOf(T asd) {
        // TODO Auto-generated method stub
        return 0;
    }

  
    public T remove(T asd) {
        // TODO Auto-generated method stub
        return null;
    }

  
    public boolean  remove(int index) {
        // wenn index außerhalb des gültigen bereiches --> exit
                if(index < 1 || index > size())
                    return false;
              
                Node current = head;
                for(int i = 1; i < index; i++)
                {
                    if(current.getNext() == null)
                        return false;
                  
                    current = current.getNext();
                }
                current.setNext(current.getNext().getNext());
                listCount--; //  verringern der variable
                return true;
    }

  
    public T get(int index) {
        // element in einer bestimmten position in liste returnen
      
            // index muss 1 oder höher
            if(index <= 0)
                return null;
          
            Node current = head.getNext();
            for(int i = 1; i < index; i++)
            {
                if(current.getNext() == null)
                    return null;
              
                current = current.getNext();
            }
            return (T) current.getData();
    }

  
    public int size() {
        // anzahl der elemente in der liste returnen
      
            return listCount;
    }
      


    public String toString()
    {
        Node current = head.getNext();
        String output = "";
        while(current != null)
        {
            output += "[" + current.getData().toString() + "]";
            current = current.getNext();
        }
        return output;
    }
  
    public static void main(String[] args) {
        LinkedList neueListe = new LinkedList();
        neueListe.add("LOL");
        neueListe.add("XD");
        neueListe.add(4);
        neueListe.add(3);
        neueListe.add(2);
        neueListe.add(1);
        neueListe.add(0);
     
     
      
        neueListe.remove(1); //LOL wird gelöscht, Index beginnt mit 0
        neueListe.remove(6);
      
//     System.out.println("Endergebnis--> "+ neueListe);
//      System.out.println("");
    
//      System.out.println(listCount);
      neueListe.size();
    }
  
  
  
  
  
  
  
  
  
    class Node
    {
        // reference zu nächte node in reihe
        // oder  null wenn nichts ist
        Node next;
        // data ist in diesem node
        // kann alle typen sein
        Object data;
      

        // konstruktor
        public Node(Object _data)
        {
            next = null;
            data = _data;
        }
      
        // anderer konstruktor
        // node pointer
        public Node(Object _data, Node _next)
        {
            next = _next;
            data = _data;
        }
      
      
        public Object getData()
        {
            return data;
        }
      
        public void setData(Object _data)
        {
            data = _data;
        }
      
        public Node getNext()
        {
            return next;
        }
      
        public void setNext(Node _next)
        {
            next = _next;
        }
    }}

Das soll eine doppelt verkettete Liste sein.
 
Zuletzt bearbeitet:

Flown

Administrator
Mitarbeiter
Also Grundsätzlich fehlen dir die Implementierungen einiger Methoden. listCount ist static, warum?
Code dokumentiert man mit JavaDoc und nicht so! HIER oder HIER ein Tutorial.

EDIT:
- Paar Fehler sind in der Implementierung enthalten.
- Node könnte Typsicher mit T arbeiten
- Naminconvention beachten (also keine _<variable>), sondern mit this.<variable> = <variable>; arbeiten.
 

Saheeda

Top Contributor
Diese beiden Kommentare:
// reference zum head node
und
// leere liste
// new node ohne daten

Finde ich ziemlich sinnbefreit. Dass "Node head" eine Referenz ist, sehe ich anhand des Typs, dass es der Anfang der Liste ist, nehme ich anhand des Namens an.
Dass die Liste leer ist, nehme ich anhand von listcount = 0 an.

Wir haben bei uns folgende Regel: Kommentiere nicht, was der Code tut, sondern warum.
Was der Quellcode macht, sehe ich. Warum er das so tut sehe ich nicht, das kommt meistens aus den Anforderungswünschen des Kunden.


Bei der Methodendoku ist wiederum die Sicht von außen wichtig. Frage dich folgendes: Wenn du nur die Methodensignatur + Doku liest, weißt du dann alles, was du darüber wissen musst?
Null-Handling? Geworfene Exceptions? Default-Werte? Die genaue Implementierung ist für die Doku irrelevant, aber ein Benutzer muss schnell verstehen können, was sie tut (oder nicht tut).
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
P Wie kann ich meine Keylistener Klasse unterscheiden lassen, von welcher "Quelle" der Input kommt? Java Basics - Anfänger-Themen 2
T Meine Klasse wird nicht gefunden Java Basics - Anfänger-Themen 1
L Meine erste eigene Exception Klasse Java Basics - Anfänger-Themen 10
N Klassen Warum kann meine Klasse nicht auf Methoden der anderen Klasse zugreifen? Java Basics - Anfänger-Themen 6
K Klassen Meine Klasse wird nicht anerkannt Java Basics - Anfänger-Themen 7
D Wie kann meine Klasse in ein JPanel zeichnen? Java Basics - Anfänger-Themen 14
S OOP Wie muss meine Klasse zu dieser main aussehen? Java Basics - Anfänger-Themen 5
R Meine erste Klasse: Punkt Java Basics - Anfänger-Themen 3
S daten per url in meine Klasse? Java Basics - Anfänger-Themen 12
A meine eigene IO Klasse Java Basics - Anfänger-Themen 3
G Public class??? Findet meine Klasse nicht. Java Basics - Anfänger-Themen 5
C Rechnen mit Brüchen, ist meine Lösung soweit richtig? Java Basics - Anfänger-Themen 4
A Methoden Guten Tag , ich wollte so machen dass wenn meine frog an eine fly/bee geht dann an meine Tafel geht der zahl +1 hoch. Java Basics - Anfänger-Themen 2
J Meine Mails gehen nicht raus Java Basics - Anfänger-Themen 8
W Streams in Java und was bedeutet meine Konsolen-Ausgabe? Java Basics - Anfänger-Themen 4
frager2345 Warum muss ich hier im Konstruktor meine Exeption nicht abfangen ? Java Basics - Anfänger-Themen 4
I Methoden Wieso wird mein Array "a" verändert und meine Variable "a" nicht? Java Basics - Anfänger-Themen 4
sserio Wieso werden nicht alle Primzahlen bis 1000 in meine Liste gepackt ? Java Basics - Anfänger-Themen 8
C60 Methoden Main-Methode erkennt meine Arrays nicht. Java Basics - Anfänger-Themen 7
milan123 das ist meine aufgabe ich hab das problem das bei mir Wenn ich die Richtung der Linien verändern will und drei davon sind richtig, verändere ich die 4 Java Basics - Anfänger-Themen 3
O Warum ist meine Antwort falsch? Java Basics - Anfänger-Themen 3
E Meine JCombobox werte an ohne selectiert zu haben Java Basics - Anfänger-Themen 6
Zrebna Umgebungsvariable Wieso wird meine verwendete JDK-Version in der Prompt nicht erkannt? Java Basics - Anfänger-Themen 6
B Sind meine If-Statements richtig angesetzt ? Java Basics - Anfänger-Themen 27
N Wie kann ich eine meine Variable Final machen? Java Basics - Anfänger-Themen 1
L Worauf muss ich achten, wenn ich externe Bibliotheken für meine Anwendungen verwende? Java Basics - Anfänger-Themen 6
B Warum werden meine System.out.println's übersprungen? Java Basics - Anfänger-Themen 9
W Wie kann ich meine Methode aufrufen? Java Basics - Anfänger-Themen 29
U Was löst meine NullPointerException aus? (Vererbung) Java Basics - Anfänger-Themen 12
H Meine Tabelle befüllen in .fxml Java Basics - Anfänger-Themen 16
E Warum kann ich meine jar-Datei nicht öffnen Java Basics - Anfänger-Themen 20
WPS1000 Input/Output Wie aktiviere ich den Daten Transfer von der RS232 in meine Java Applikation Java Basics - Anfänger-Themen 2
T Rekursion Warum bricht meine Funktion nicht ab Java Basics - Anfänger-Themen 4
S Meine Java "Wahrsagerin" Java Basics - Anfänger-Themen 9
C Ich brauche hilfe für meine Klausur Java Basics - Anfänger-Themen 13
W Wie lasse ich meine Ausgabe nach dem Lesen verschwinden ? Java Basics - Anfänger-Themen 1
W Warum funktioniert meine if Anweisung nicht? Java Basics - Anfänger-Themen 8
R Meine Ratemaschine Java Basics - Anfänger-Themen 3
V Warum speichert meine String-Variable nummerische Werte? Java Basics - Anfänger-Themen 3
V Erste Schritte Warum geht meine continue Anweisung nicht? Java Basics - Anfänger-Themen 8
GreenTeaYT HashMap dupliziert meine Elemente? Java Basics - Anfänger-Themen 2
J Erste Schritte Vorsicht Spaghetti-Code! Wie verschachtel ich meine If-Anweisung??? Java Basics - Anfänger-Themen 4
snipesss Eclipse Neon findet meine Projekte nicht? Java Basics - Anfänger-Themen 1
snipesss IDE findet meine .txt Datei nicht! Java Basics - Anfänger-Themen 12
J Verstehe meine HashSet Ausgabe nicht Java Basics - Anfänger-Themen 5
E Erste Schritte [Noob] Warum geht meine For-Schleife nicht? Java Basics - Anfänger-Themen 2
E Erste Schritte [Noob-Frage] Meine If-Abfrage macht nicht, was sie soll... Java Basics - Anfänger-Themen 2
J Erste Schritte .class datei in meine form inkludieren Java Basics - Anfänger-Themen 3
D Wie bekomme ich meine Ausgabe in Form von "2^x" hin? Java Basics - Anfänger-Themen 1
Z Fibonacci rekursiv meine Erklärung stimmt so? Java Basics - Anfänger-Themen 2
C Meine erste Funktion Java Basics - Anfänger-Themen 12
A Meine erste Bibliothek erstellen Java Basics - Anfänger-Themen 24
Z Meine ersten Gehversuche Java Basics - Anfänger-Themen 11
Dit_ Ich kenne meine Koordinaten. Wo bin ich? Java Basics - Anfänger-Themen 2
M Suche Korrektor für meine Lösung (FH: Java1 - Übungsklausur) Java Basics - Anfänger-Themen 4
J Datentypen Meine Hashliste ist nicht unique Java Basics - Anfänger-Themen 5
M Meine erste Java Programmierung funzt nicht :-( Java Basics - Anfänger-Themen 34
C Denkanstoss für meine Auswertung Java Basics - Anfänger-Themen 5
L Warum erkennt java meine methode nicht? Java Basics - Anfänger-Themen 17
S Irgendwie kann ich meine Eclipse Projekte nicht mehr veraendern..? Java Basics - Anfänger-Themen 5
M Wo sind meine double-Zahlen? Java Basics - Anfänger-Themen 2
A Hilfe meine Titel werden alle abgelehnt Java Basics - Anfänger-Themen 4
K Wieso schaltet meine CheckBox von selbst um ? Java Basics - Anfänger-Themen 31
K Warum adiert meine Methode nicht die eins ? Java Basics - Anfänger-Themen 19
K Warum wird meine Graphik zwei Mal gezeichnet ? Java Basics - Anfänger-Themen 12
Kr0e Eclips + JOGL -> Wo ist meine MAIN-Funktion hin ? Java Basics - Anfänger-Themen 9
U Habe meine .class files gelöscht. Java Basics - Anfänger-Themen 3
gummibaerchen Methode überschreibt meine Variable Java Basics - Anfänger-Themen 5
N Programm das mir anzeigt wo meine Freundin ist. Java Basics - Anfänger-Themen 10
Schandro Meine Fragensammlung Java Basics - Anfänger-Themen 9
D Meine SetMethode geht nicht || Fenster schließen Java Basics - Anfänger-Themen 3
T Java Programm ordnet meine Objecte immer falsch an Java Basics - Anfänger-Themen 4
M wie kann ich meine Projekte auf einen stick speichern? Java Basics - Anfänger-Themen 6
S Wie ist meine Strucktur Java Basics - Anfänger-Themen 11
F Eingabe darf nur 1 oder 0 sein. Meine Lösung macht Probleme. Java Basics - Anfänger-Themen 8
A Möchte Java - Chat in meine Homepage einbinden. Java Basics - Anfänger-Themen 4
M meine ersten versuche Java Basics - Anfänger-Themen 8
M wie pack ich das swt in meine *.jar Java Basics - Anfänger-Themen 8
S ich stör schon widr wegen meine gui Java Basics - Anfänger-Themen 2
R Welches inferface und somit welche IP benutzt meine JVM? Java Basics - Anfänger-Themen 2
M Meine Java Programm hägt durch waitFor() ! HILFE! Java Basics - Anfänger-Themen 10
G Meine erste IF Abfrage Java Basics - Anfänger-Themen 11
G wie meine java applikation installierbar machen? Java Basics - Anfänger-Themen 11
R BorderLayout macht meine Zeichnung kaputt Java Basics - Anfänger-Themen 14
A Parsen einer XML-Datei: Wo sind meine Start-Tags??? Java Basics - Anfänger-Themen 22
A Buttons für meine Homepage Java Basics - Anfänger-Themen 2
P meine java applets laufen nicht bei meinen freunden Java Basics - Anfänger-Themen 5
G Klassen: Wann initialisiere ich wo meine Variabeln Java Basics - Anfänger-Themen 6
K Mein Pc will meine Programme nicht kompilieren Java Basics - Anfänger-Themen 2
J Warum funktioniert meine Umwandlung nicht? Java Basics - Anfänger-Themen 3
I @Inject in normaler Klasse? Java Basics - Anfänger-Themen 4
P Enum oder normale Klasse? Java Basics - Anfänger-Themen 10
P Meldung aus Java-Klasse in Thread an aufrufende Klasse Java Basics - Anfänger-Themen 1
Simon16 Java ArrayListe von einer Klasse sortieren Java Basics - Anfänger-Themen 2
Amina556 Eigene Klasse definieren Java Basics - Anfänger-Themen 9
berserkerdq2 Intelij, wie kann ich einstellen, dass die aktuelle Klasse ausgeführt wird, wenn ich aufs Startsymbol drücke, gibts da eine Tastenkombination? Java Basics - Anfänger-Themen 11
M Klasse in Runden Klammern bei Objektimplementierung Java Basics - Anfänger-Themen 4
J Klassen Klasse als Komponententyp bei Feldern Java Basics - Anfänger-Themen 2
J Klassen Instanzen einer Klasse in einer anderen unabhängigen Klasse nutzen Java Basics - Anfänger-Themen 4
Detlef Bosau nichtstatische Innere Klasse, this Pointer. Java Basics - Anfänger-Themen 47

Ähnliche Java Themen

Neue Themen


Oben