Code Conventions?



  • Dass meine Antwort nicht an dich gerichtet war.



  • wer spricht ihr mit wem ?



  • Ich sehe schon ... lassen wirs 🙂 Ich hatte eigentlich stevg gemeint aber nun ist es auch egal ...



  • Achso 🙂



  • Edit: Omg, habe übersehen das es schon eine 2. Seite 🙄

    Letztendlich hat jeder wie schon gesagt seinen eigenen Stil, ich persönlich benutze für Membervariablen immer ein 'm_' als Präfix.



  • Dann melde ich mich auch mal wieder zu Wort (als derjenige, der den Thread eröffnet hat...). Danke für die vielen Antworten.

    So wie's aussieht, gibt's wohl keine einvernehmliche Lösung, oder? In den Sun Code Conventions steht auch nichts explizit über Parameter. Jetzt hab ich also drei Möglichkeiten zur Auswahl:

    public void setAlter(int _alter) {
    	alter = _alter;
    }
    
    public void setAlter(int alter) {
    	this.alter = alter;
    }
    
    public void setAlter(int newAlter) {
    	alter = newAlter;
    }
    

    Hätten meine Variablen englische Namen, würde ich die 3. Variante bevorzugen. So sieht's aber blöd aus - und neuAlter natürlich auch ;). In den Sun Code Conventions steht, dass man auf _ bzw. $ in den Variablen-Namen verzichten sollte, also werd ich wohl auf Variante 2 umsatteln. Das scheint mir das gebräuchliste. Irgendwelche Einwände 🙄

    Nächste Frage:

    anzahlTage oder
    anzahl_tage
    

    ???

    So wie's aussieht, eindeutig Variante 1, oder?



  • Komische Frage. Du hast doch grade erst Sun damit zitiert, dass man auf _ in Bezeichnern verzichten sollte 😕



  • Eigentlich...

    ...hast Du Recht. 🙄


  • Mod

    Tim99 schrieb:

    Hätten meine Variablen englische Namen, würde ich die 3. Variante bevorzugen. So sieht's aber blöd aus - und neuAlter natürlich auch ;).

    Jo. "setAlter" sieht aber genauso doof aus. Ich empfehle deshalb, für alle Bezeichner englische Namen zu verwenden.



  • Stimmt. Aber wo hört der Mix deutsch/englisch dann auf? Deutsche Kommentare im englischen Quellcode sieht auch blöd aus. Und dann komplett alles auf englisch schreiben, um den Code einheitlich zu haben? Vielleicht sollte man das, aber ich glaub, dazu kann ich mich nicht durchringen...



  • Sollte man, ja. Ich mache es sogar inzwischen oft, einfach wegen den Doc-Kommentaren.
    Aber eigentlich ist es ja auch kein Problem, Kommentare auf Deutsch zu schreiben. Aber deutsche Bezeichner finde ich wirklich nicht gut.



  • setAge



  • Optimizer schrieb:

    Aber eigentlich ist es ja auch kein Problem, Kommentare auf Deutsch zu schreiben.

    Ist wahrscheinlich auch einfacher und praktikabler.

    Es ist viel einfacher, einen Namen fuer eine Variable zu uebersetzen, als einen ganzen Kommentar. Das erhoeht doch eher die Hemmschwelle, seinen Code ausreichend zu kommentieren.

    Fuer die Kommentare sollte man fuer die Sprachwahl im Hinterkopf halten, fuer wen sie gedacht sind.

    /Dirk



  • wieso diskutiert ihr eigendlich noch? was CengizS gepostet hat ist doch optimal:

    CengizS schrieb:

    Durch die Eindeutigkeit der get- bzw. set-Methoden empfehle ich stets den selben Variablennamen in der Methodensignatur zu verwenden - nämlich newValue bzw newObject. Dies wird auch von den meisten fireXYZEvent()-Methoden im JDK gemacht und hilft dabei zuverlässig den Problemen der Nomenklatur aus dem Weg zu gehen. Die Benutzung von this halte ich für Geschmackssache - es ist möglich, also warum auch nicht nutzen? Viel wichtiger halte ich es, einen Standard anzunehmen und den dann auch konsequent durchzuziehen.

    Beispiel:

    public class MyHyperClass
    {
        int hyperLimit;
        Object dataObject = null;
        ...
    
        public MyHyperClass() {
            ...
        }
    
        public int getHyperLimit() {
            return hyperLimit;
        }
    
        public void setHyperLimit(int newValue) {
            hyperLimit = newValue;
        }
    
        public Object getDataObject() {
            return dataObject;
        }
    
        public void setDataObject(Object newObject) {
            if (newObject != null)
                dataObject = newObject;
        }
    
        ...
    }
    

    und zu den englischen kommentaren würde ich sagen dass es da drauf ankommt wer es die später lesen soll. oder nicht ?
    <edit>

    Fuer die Kommentare sollte man fuer die Sprachwahl im Hinterkopf halten, fuer wen sie gedacht sind.

    das hatte ich überlesen


Anmelden zum Antworten