Software Entwicklung

Kirby.exe

Top Contributor
Also ich hatte letzte Woche mal etwas mit meinem Dozenten gequatscht und er hatte mir erzählt, dass als er noch Softwareentwicklung gemacht hat, es „konvention“ war variablen mit datentyp präfix zu bennen. Also z.B so:


Java:
private int iAge;
private char cLetter;
private double dBill;

Macht man das immernoch und sollte ich mir das frühzeitig angewöhnen? :)
 

LimDul

Top Contributor
Aus dem Bereich Clean-Code:
It’s not necessary to use Hungarian Notation or other type encodings
It is no longer necessary to use the Hungarian Notation as the IDE enforces types thus most errors are detected before compile type and it makes it easier to change the type of the variable if the name does not include the type. For example, we have the variable: String phoneNumberInt and the variable type has changed to String but the variable name implies that it’s an int.

Also ein klares "Nein, macht man nicht mehr".
 

QU3LLC0D3

Mitglied
Also das kenne ich zum Teil auch noch ...
Java:
final String sVorname = "Horst";

An sich finde ich das ganz persönlich auf der einen Seite ganz gut, weil es eben nicht immer aus dem Kontext ersichtlich ist um welchen Typ es sich im weiteren Verlauf handelt.

ABER die Verwendung von Gettern & Settern (und auch z.B. bei der Verwendung von Lombok) ist das Ganze dann schon ganz schnell echt ekelhaft.

So wird dann nämlich aus dem "sVorname" plötzlich
Java:
private String getSvorname() {
  return this.sVorname;
}

Das macht es dann irgendwann wieder total unübersichtlich und auch unsinnig.

Bei der Verwendung von Arrays oder Listen kann das Ganze dann aber in totalem Wahnsinn enden und am Ende wird da auch keiner mehr wirklich durchblicken können.

Daher plädiere ich auch hier zur Verwendung von sprechenden Variablen im Sinne des CleanCode-Gedanken. Das ein Vorname in der Regel ein String sein dürfte sollte klar sein. Und eine Liste von Vornamen einfach listVorname oder eben einfach vornamenListe zu nennen, macht es dann auch überflüssig dies irgendwie zu kommentieren oder kennzeichnen zu müssen.
 

mrBrown

Super-Moderator
Mitarbeiter
Also das kenne ich zum Teil auch noch ...
Java:
final String sVorname = "Horst";

An sich finde ich das ganz persönlich auf der einen Seite ganz gut, weil es eben nicht immer aus dem Kontext ersichtlich ist um welchen Typ es sich im weiteren Verlauf handelt.
Das Problem ist vor allem auch, das es keinen Standard gibt. Für jeden mit Android-Hintergrund ist das ein statischer String...

Und eine Liste von Vornamen einfach listVorname oder eben einfach vornamenListe zu nennen, macht es dann auch überflüssig dies irgendwie zu kommentieren oder kennzeichnen zu müssen.
Oder einfach bei Listen den Plural nutzen, vornamen, das ist dann noch sprechender und enthält nicht wieder den Typ.
 

LimDul

Top Contributor
Das Hauptziel sollte sein, dass der Code möglichst gut lesbar ist und keine Überraschungen enthält.

Dementsprechend würde ich bei Feldern es wirklich mehr oder minder verbieten den Typ mit in den Namen zu schreiben.
Und auch sonst würde ich es vermeiden wollen, weil es meist keinen Mehrwert bringt. Entweder wird der Typ aus dem Kontext klar, wenn ich es lese. Oder ich arbeite damit - dann sagt mir die IDE das. Wenn ich den Code lese, der Typ zum Verständnis wichtig ist, aber er aus dem Code nicht hervorgeht, dann sollte man zuerst sich fragen, ob der Code so wie er ist, sinnvoll ist und ob man den nicht besser schreiben kann. Den Typ in den Namen reinzukodieren wäre nur die letzte Möglichkeit.

Wo ich es teilweise für sinnvoll halte, wenn ich in einer Funktion konvertierungen von/nach String mache - also das gleiche fachliche Attribut einmal in seinem "nativen" Typ (z.B. LocalDate) habe und einmal in seiner String-Darstellung. Da finde ich es ok, wenn ich neben "beginnDatum" dann eine lokale Variable "beginnDatumString" habe um die klar bei lesen voneinander zu trennen. Das wäre für mich eine der wenigen Ausnahmen.
 

httpdigest

Top Contributor
Ich denke mal, den Typ in welcher Form auch immer in den Namen eines Bezeichners zu kodieren, kommt aus einer Zeit, in der es keine vernünftigen IDEs gab, in der man sehr leicht durch diverseste Toolingunterstützung im Quellcode navigieren kann (ich denke, das wurde hier auch schon mal genannt) und in der man sich auch Quelltext auf Papier ausgedruckt hatte. Ich habe noch kein Projekt gesehen, in dem tatsächlich der Typ einer Variablen (wie auch immer) in den Bezeichner kodiert wurde.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
Zrebna Zuverlässiges Automatisiertes Testen im eigenem Software-Unternehmen aufsetzen - How to? Allgemeine Java-Themen 12
I In Java geschriebene Software nach Mac OS portieren Allgemeine Java-Themen 7
OnDemand Software Zertifizierung Allgemeine Java-Themen 4
Zrebna Wieviele Testfälle muss man hier schreiben? (Software Engineering) Allgemeine Java-Themen 13
Kirby.exe Software für Graphische Visualisierung Allgemeine Java-Themen 20
B Multiuser Software Allgemeine Java-Themen 3
L Nach dem Login // Java Desktop Software Allgemeine Java-Themen 7
W Software-Lizenzen Allgemeine Java-Themen 13
temi Fragen zur Software-Architektur Allgemeine Java-Themen 123
david19 Software AE über Domain laufen lassen Allgemeine Java-Themen 0
M JVM: Client Software Logging und Profiling aktivieren Allgemeine Java-Themen 1
G Job als Programmierer (Software oder Spiele Entwickler) Allgemeine Java-Themen 2
O Architektur für Software Allgemeine Java-Themen 14
K Java mit Software ausliefern, Securitybedenken? Allgemeine Java-Themen 4
wolfgang63 Code snipped Software Allgemeine Java-Themen 1
J Java Software Compare Files und Neue File erstellen Allgemeine Java-Themen 0
A Update Software programmieren Allgemeine Java-Themen 1
O Java Hardware Software Zeit Allgemeine Java-Themen 7
D Software entwicklen und verkaufen Allgemeine Java-Themen 1
OnDemand Software-Tracking Allgemeine Java-Themen 14
OnDemand Java Software verkauf untersagt Allgemeine Java-Themen 4
N Neue Software in Java 7 oder 8? Allgemeine Java-Themen 3
R Software ausliefern - Aber Wie? Allgemeine Java-Themen 10
A Sinnvolles Software Design bei Eigenschaftsänderungen von Objekten Allgemeine Java-Themen 7
R Installierte Software auslesen mit Java Allgemeine Java-Themen 3
L Software-Design: Kommunikation mit SerialPort (RXTX) Allgemeine Java-Themen 2
G Best Practices Software-Engineering‏ Allgemeine Java-Themen 3
G RXTX in proprietärer Software nutzen?! Allgemeine Java-Themen 10
A Sicherheit von Software Allgemeine Java-Themen 2
B Software Metriken für Java Allgemeine Java-Themen 36
F LGPL in kommerzieller Software Allgemeine Java-Themen 7
R Konzept eines Software-Rollout/Synchronisation via WebService Allgemeine Java-Themen 5
P Software schützen Allgemeine Java-Themen 8
R software implementierung Allgemeine Java-Themen 3
G Software fuer Auktionshaus Filmundo.de aber wie? Allgemeine Java-Themen 2
X Software soll einen Text vorlesen! Allgemeine Java-Themen 5
X Software schützen! DEMOVersion Allgemeine Java-Themen 12
D JDK fürGPL-Software? Allgemeine Java-Themen 6
S software zum zuschneiden von Bildern Allgemeine Java-Themen 2
C Software für Windows PC mit integierter Db oder Textdatei? Allgemeine Java-Themen 19
J Java Software schreiben? Allgemeine Java-Themen 4
P Bekannte Software in Java? Allgemeine Java-Themen 27
F Paket und Software Design Fragen. Allgemeine Java-Themen 5
M Chat-Software gesucht Allgemeine Java-Themen 3
T GPL Code inkommerzieller Software nutzen? Allgemeine Java-Themen 26
G Software für Java programmierung Allgemeine Java-Themen 5
Z Beipiel zu gut dokumentierten Software Allgemeine Java-Themen 3
B chat-software Allgemeine Java-Themen 5
T Soll ich meine Software als freeware zum download geben? Allgemeine Java-Themen 15
H Andere Software fernsteuern Allgemeine Java-Themen 7
H Software wartet? Allgemeine Java-Themen 11
K GUI-Entwicklung - Dispose, enabling und mehrere Controller Allgemeine Java-Themen 1
K Entwicklung von Batchverarbeitung etc. in Java Allgemeine Java-Themen 5
ruutaiokwu META-INF-daten bei ungepackten library-projekten während der entwicklung mit einbeziehen...? Allgemeine Java-Themen 2
M Backend Entwicklung - Konzept fragen Allgemeine Java-Themen 3
A Java Entwicklung übers Internet Allgemeine Java-Themen 10
M Data Dump für Entwicklung Allgemeine Java-Themen 2
S Algorhitmus Entwicklung zu den Gefälleplatten Allgemeine Java-Themen 7
O Entwicklung eines Codegenerators Allgemeine Java-Themen 7
G OO-Problem bei Entwicklung von Reversi Allgemeine Java-Themen 16

Ähnliche Java Themen

Neue Themen


Oben