guter Stil - wie macht mans am Besten?

Status
Nicht offen für weitere Antworten.

frau-u

Aktives Mitglied
Hi,

Ich hab hier in ein paar Musterlösungen einige Dinge gefunden, die mir ein wenig unnötig vorkommen, bei denen ich allerdings vermute, dass sie als "guter Stil" angesehen werden.

1. sollte man bei jedem "kleinen Code" ein eigenes Package anlegen?
IMHO verwirrt das nur und macht es schwieriger, wenn ich den Code weitergebe.

2. Wenn ich import-Anweisungen schreibe: wann ist die Verwendung von "*" sinnvoll?
Ich habe bisher eigentlich immer (besonders bei awt und Swing) alle Klassen eines Paketes importiert.
Ich weiß, dass das teilweise zu Überschneidungen führen kann, wenn Klassen mit gleichem Namen in Paketen sind,a ber in diesem Fall kann man die import-Anweisung ja immernoch explizit formulieren.
Soweit ich weiß, werden entsprechende Klassen auch erst "on demand" benutzt, d.h. dass das nicht inefizienter ist.

Konstruktionen wie
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
wirken zumindest auf mich etwas unsinnig.

Danke für eure Kommentare. :)
 
R

Roar

Gast
zu 1: also ich mach es so. ansonsten hab ich noch nen package text angelegt wo ich kleinere codes hinlege und sowas...

zu 2: ich finds eigentlich schöner alle klassen einzeln zu importieren, aber wenn die anzahl der verwendeten klassen aus einem package 5 überschreitet, importier ich meistens alle...
 

mic_checker

Top Contributor
Ich denk ma das ist bis zu nem gewissen Grad Geschmackssache. Bei mir ist es meistens so das ich mich mit dem "Default-Package" angefreundet hab =)
In vielen Fällen benutz ich auch lieber die Wildcard - Schreibweise.....
 

Illuvatar

Top Contributor
zu 1: Anfangs hab ich auch immer alles in ein Default-Package gelegt, jetzt geh ich meistens nach der Zahl der Quelldateien, ab 2 oder 3 gibts nen Package. Aber jedes Programm (außer wenn ich für das Forum kurz was teste) kommt normal eh in einen eigenen Ordner.

zu 2: Ich halte die Einzelimportierschreibweise für ziemlich unsinnig. Wenn ein Package eigentlich in der Datei nix verloren hat und ich auch nur eine Klasse brauche, dann kann das schonmal vorkommen, dass ich z.B. import javax.swing.JOptionPane; schreib. Aber in so einem Fall schreibe ich das Package meistens direkt im Quellcode. Außerdem steht wenn ich im JCreator z.B. "import javax.text." schreibe im Popupmenu das * eh ganz oben, so dass ich schon fast reflexmäßig enter und strichpunkt drücke ;)
Die Sun Coding Conventions sagen dazu, wenn ich mich recht erinnere, nix.
(Uff, weshalb hab ich jetzt eigentlich dazu 6 Zeilen geschrieben?)
 
B

Beni

Gast
zu 1: Ich arbeite immer mit Packages, egal wie klein oder gross das Programm ist. Das Default-Package hat den Nachteil, dass man es nicht importieren kann (oder etwa doch?), und ein späterer Umstieg zu Packages darum (fast) nicht möglich ist.

zu 2: Da Eclipse automatisch einzelne imports macht...
Ob das schneller ist, weiss ich nicht. Vielleicht lädt der Classloader nur das was dort oben steht?
 
R

Roar

Gast
1. nö kannste nich importieren :bae:
2. ne is nich schneller. is ja nur fürn compiler und java lädt die kalssen ja nur nach bedarf :bae:

achja... jetz kommen die ganzen eclipse leute mit ihren ctrl+I :-/
 

L-ectron-X

Gesperrter Benutzer
noch zu 2.: Es gibt absolut keinen Nachteil, wenn Du alle Klassen eines ganzen Paketes importierst.
Code:
import java.io.*;
Es gibt keine Performance-Nachteile, oder sonstige Probleme in diesem Zusammenhang. Dieses Sternchen hat nur eine einzige Aufgabe: die Schreibfaulheit eines Java-Programmierers zu unterstützen. :wink:
Wenn Du die Klassen einzeln importierst...
Code:
import javax.swing.JTable;
import javax.swing.JScrollPane;
import javax.swing.JTextField;
import javax.swing.JPanel;
import javax.swing.JLabel;
import javax.swing.JButton;
import javax.swing.JFrame;
...hat dies meiner Meinung nach den Vorteil, dass ein Wartungsprogrammierer schon zu Klassenbeginn sehen kann, mit welchen Objekten in dieser Klasse gearbeitet wurde.
 
B

bygones

Gast
nein roar nicht mit ctrl+i - ctrl+shift+o ;)

1. immer packages... ich sehe das als vorteil weil du dann weißt welche Klassen logisch zusammengehören - außerdem halte ich es als programmiere für übersichtlicher. vom default package ist abzuraten (siehe oben)

2. wenns nicht meinen sehnerv überreizt - einzeln importieren - gibt zwar kein nachteil, aber man sieht welche klassen gebraucht werden und welche nicht... aber da eclipse das automatisch macht und man den teil einklappen kann .... who cares
 

Bleiglanz

Gesperrter Benutzer
1. sollte man bei jedem "kleinen Code" ein eigenes Package anlegen?
IMHO verwirrt das nur und macht es schwieriger, wenn ich den Code weitergebe.
Du sollst IMMER ein Package verwenden. Es gibt nämlich in Wahrheit gar kein Default-Package (es hängt völlig von der JVM ab, wie das gehandhabt wird); Klassen ohne Package können zu massiven Problemen führen, wenn sie sich etwa in einem .jar befinden...

Angenommen jemand will eine solche Klasse verwenden, dann geht kein import -> und er ist gezwungen, selbst mit dem "namenlosen" Package zu arbeiten (sonst ist das Verhalten nämlich nicht klar definiert)

im Tomcat (version 4.x) können z.B. keine Beans verwendet werden, die im "namenlosen" Package liegen

2. Wenn ich import-Anweisungen schreibe: wann ist die Verwendung von "*" sinnvoll?
reine Geschmacksfrage, ich selbst bevorzuge den qualifizierten Import - hat aber keinerlei Auswirkungen auf den "Rest" des Codes;

ein kleiner Nachteil von .* ist IMHO, dass der Namensraum mit (u.U. sehr vielen) Klassen bevölkert wird, die man gar nicht braucht...
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
J Getter und Setter auch intern benutzen - guter Stil? Java Basics - Anfänger-Themen 31
U Vernünftige Strukturierung, Guter Stil,. Java Basics - Anfänger-Themen 12
K BufferedReader im Konstruktor // guter Stil ? Java Basics - Anfänger-Themen 2
J Guter Stil der Java-Programmierung Java Basics - Anfänger-Themen 5
G Array mit Schleife durchlaufen - guter Stil? Java Basics - Anfänger-Themen 20
S Zugriff auf protected Fields = guter Programmierstil? Java Basics - Anfänger-Themen 11
KopaCoda Getter mehrfach aufrufen -> ist das guter code? Java Basics - Anfänger-Themen 3
MiMa Guter Programmierstiel für Methoden, OOP verstoß? Java Basics - Anfänger-Themen 25
S Methoden Effiziente Permutation? Guter Permutationsalgorithmus? Java Basics - Anfänger-Themen 1
B guter Jar-Wrapper Java Basics - Anfänger-Themen 13
G Guter Programmierstil? Java Basics - Anfänger-Themen 8
N Guter Zufallsgenerator für Java Java Basics - Anfänger-Themen 9
Silas89 Java in exe Compilieren (Guter Grund!) Java Basics - Anfänger-Themen 10
G Guter Programmierstil? Java Basics - Anfänger-Themen 4
G guter Parser Java Basics - Anfänger-Themen 4
G Guter Rat ist teuer Java Basics - Anfänger-Themen 6
K guter Programmierstil Java Basics - Anfänger-Themen 3
J focusListener ...guter Code... Java Basics - Anfänger-Themen 2
U Methoden Code Quality und Stil Java Basics - Anfänger-Themen 5
kaoZ Stil ? - ....Nein nicht das Ende des Besens ^^ Java Basics - Anfänger-Themen 11
M Vererbung Schlechter Stil? Java Basics - Anfänger-Themen 10
B Grundsätzliche Klassen-Struktur/Stil Java Basics - Anfänger-Themen 12
S Mein Code is unübersichtlich - besseren Stil Java Basics - Anfänger-Themen 6
S Unbeschaeftigten Thread in einer Schleife schlafen legen? Schlechter Stil? Java Basics - Anfänger-Themen 7
S Schlechter Stil beim Exception Handling Java Basics - Anfänger-Themen 6
nabla Code Stil -- Eclipse Warnings Java Basics - Anfänger-Themen 9
H [Stil] Exceptions in der Klasse behandeln oder throwen? Java Basics - Anfänger-Themen 62
P DotComVersenken -Spiel im Schiffeversenken-Stil - erstellen- Komm jetzt nicht weiter. Java Basics - Anfänger-Themen 11
P Spiel im Schiffe-Versenken Stil, Problem mit Erstellung des zweidimensionalen ARRAYs Java Basics - Anfänger-Themen 7
S sauberer Stil von return Wert (try, catch, finally) Java Basics - Anfänger-Themen 9
hdi Programmier-Stil : Speicher vs. Quellcode Java Basics - Anfänger-Themen 67
F Zugriff auf Instanzvariablen, Frage zum guten Stil Java Basics - Anfänger-Themen 2
H schlechter objektorientierter stil Java Basics - Anfänger-Themen 6
D Interfaces von Interfaces macht das noch Sinn? Java Basics - Anfänger-Themen 21
MoxMorris Wie macht man String[] = String[] aus einer anderer Methode? Java Basics - Anfänger-Themen 18
ohneInformatik; For Schleife. Was macht dieser Code?? Java Basics - Anfänger-Themen 5
U Beispiel Methode size() vom "Collection"-interface... Wie kann man sichtbar machen, was die Methode unter der Haube macht? Java Basics - Anfänger-Themen 8
berserkerdq2 Warum macht man in IJVM am Anfang Bipush 0? Java Basics - Anfänger-Themen 1
S Was macht ++ ohne Schleife? Java Basics - Anfänger-Themen 4
J Hallo zusammen , was macht diese Methode hier genau? Java Basics - Anfänger-Themen 3
K Gleitkommazahl macht man 0 punkt matisse oder 1 punkt matisse Java Basics - Anfänger-Themen 2
B Methoden warum macht die Methode nicht das was ich erwarte? Java Basics - Anfänger-Themen 2
E Macht Java Rechenfehler beim Potenzieren und Mod? Java Basics - Anfänger-Themen 5
V Switch Methode macht Code kaputt Java Basics - Anfänger-Themen 18
N Was macht die Klasse? Java Basics - Anfänger-Themen 3
T Was macht diese Zeile? Java Basics - Anfänger-Themen 9
R getUserProperties() macht für mich keinen Sinn Java Basics - Anfänger-Themen 8
L Was genau macht -> Java Basics - Anfänger-Themen 18
J Was genau macht die Methode close() im InputStream? Java Basics - Anfänger-Themen 5
U Best Practice Fehleranalyse, welche Fehler macht Ihr beim Lernen bzw. auch später Java Basics - Anfänger-Themen 12
L Hilfe! Was macht dieser Code? Java Basics - Anfänger-Themen 1
C Was macht `public class ClassName<T extends Comparable<T>>`? Java Basics - Anfänger-Themen 14
M Was macht super (...)? Java Basics - Anfänger-Themen 1
Tommy135 Klassen jComboBox macht nicht was sie soll Java Basics - Anfänger-Themen 4
J JButton macht was er will Java Basics - Anfänger-Themen 3
R While-Schleife macht nicht was sie soll Java Basics - Anfänger-Themen 24
JavaNewbie2.0 Habe ein frage wie man etwas macht. Java Basics - Anfänger-Themen 13
B Was macht diese Methode? Java Basics - Anfänger-Themen 9
P Was macht diese methode Java Basics - Anfänger-Themen 2
Tacofan Was macht dieses "Stückchen Code"? Java Basics - Anfänger-Themen 3
F JSON null macht mir ein Problem Java Basics - Anfänger-Themen 3
L Was genau macht "public static void" ? Java Basics - Anfänger-Themen 12
C Hilfe - Kleines Programm macht mir Schwierigkeiten Java Basics - Anfänger-Themen 2
G Methoden Was genau macht die Methode light.setInfluencingBounds ? Java Basics - Anfänger-Themen 5
B Erste Schritte Way of life ohne import - Habe Beispiel, macht Unfug Java Basics - Anfänger-Themen 21
D Methoden Filewriter macht keine Zeilenumbrüche Java Basics - Anfänger-Themen 3
E Erste Schritte [Noob-Frage] Meine If-Abfrage macht nicht, was sie soll... Java Basics - Anfänger-Themen 2
H Tastatur.wurdeGedrueckt() macht nicht das, was ich will :/ Java Basics - Anfänger-Themen 2
K Was macht hier genau return? Java Basics - Anfänger-Themen 2
E Einfache For-Schleife macht nicht was sie soll Java Basics - Anfänger-Themen 2
J Shakersort, das Array macht Probleme! Java Basics - Anfänger-Themen 4
A scan.nextLine() - Wenn man zu lange nichts macht, soll etwas passieren Java Basics - Anfänger-Themen 3
C Scrollpanel autoscroll(false) macht nix Java Basics - Anfänger-Themen 2
M StringTokenizer macht Quatsch Java Basics - Anfänger-Themen 21
N Papaklasse macht Zicken mit Parameterkonstruktor Java Basics - Anfänger-Themen 7
K Datentypen double x als Bruch aus Integern macht x zu integer? Java Basics - Anfänger-Themen 3
C Erste Schritte was macht eigentlich "for (;;)" Java Basics - Anfänger-Themen 7
C JDK-Installer macht nichts Java Basics - Anfänger-Themen 11
A JApplet: einbinden von weiteren Jars macht Probleme Java Basics - Anfänger-Themen 2
B Variablen Wie macht man eine call by reference mit primitiven Datentypen in Java? Java Basics - Anfänger-Themen 2
I Für was macht man "deep Kopien" Java Basics - Anfänger-Themen 4
S Erste Schritte While do Schleife - macht nicht was sie soll Java Basics - Anfänger-Themen 7
9 Programm macht nicht was es soll Java Basics - Anfänger-Themen 6
H Was macht diese Methode? Java Basics - Anfänger-Themen 3
S JApplet macht Probleme Java Basics - Anfänger-Themen 2
Y Was macht folgende Regular Expression Java Basics - Anfänger-Themen 2
M Was macht bzw. was bringt ein constructor? Java Basics - Anfänger-Themen 12
P orphaned case macht probs Java Basics - Anfänger-Themen 3
ruutaiokwu System.err.print(ln) macht ein durcheinander??! Java Basics - Anfänger-Themen 8
X Selectionsort macht Probleme Java Basics - Anfänger-Themen 2
P was macht der code? Java Basics - Anfänger-Themen 4
M OOP for Schleife macht mir Probleme mit Arrays Java Basics - Anfänger-Themen 7
R Was macht...? Java Basics - Anfänger-Themen 4
alderwaran closed source jar, kein javadoc. was macht methode x eigentlich? ( oracle forms pjc beans ) Java Basics - Anfänger-Themen 2
M JavaEditor macht Probleme! Invalid Flag! Java Basics - Anfänger-Themen 9
P Was macht dieser Source code? Java Basics - Anfänger-Themen 5
R BufferedWriter macht komische Zeichen Java Basics - Anfänger-Themen 3
I KeyEvent macht nichts.^^ Java Basics - Anfänger-Themen 3
E new File macht den Pfad kaputt Java Basics - Anfänger-Themen 15
S Wie macht man sowas?? Ist da ne If-Schleife richtig?? Java Basics - Anfänger-Themen 22

Ähnliche Java Themen

Neue Themen


Oben