String-Parameter statt Integer

Bitte aktiviere JavaScript!
Status
Nicht offen für weitere Antworten.
Ok, meine einfache Aussage war doch eigentlich trivial und Deine Versuche, die absolut nicht verstehen zu wollen, lassen Dich ganz blöd aussehen.

Strings sind nicht generell böse. Wie will man denn sonst mit Zeichenketten umgehen? Dafür ist Strings ja da.

Nur eben macht der Einsatz nicht überall Sinn, was Du aber nicht verstehen willst oder kannst.

Und Du scheinst krampfhaft an Deiner Idee festzuhalten:

@sCream_19 Nimm als Parametertyps Strings und setze einen kleinen Parser davor, dann ist Dein Quelltext sozusagen vor unsachgemäßer Verwendung geschützt. Minimale Geschwindigkeitsverringerungen sind denke ich mal hinnehmbar/akzeptabel. Und starte nur Anwendungen die auch vollständig kompilierbar sind. ;)
Später kann ich mir das mal ansehen....
Und wenn Du so einen Mist schreibst, dann werden andere darauf reagieren. Da dann zu fordern, dass wir "Deine Threads" in Ruhe lassen, ist einfach Quatsch. Zumal Du offensichtlich vergessen hast, dass dies nicht "Dein Thread" war sondern von jemand anderes.

Und nach was gehen Bei euch Code Reviews? In eurem LK ist das dann: Du hast 15 Punkte, daher gilt generell Deine Meinung?
Sorry, aber das gilt für mich nicht. Einfach nur weil ich schon Software nach Clean Code Vorgaben entwickle als es Dich wohl noch nicht gab :)

Evtl. mal etwas wie https://clean-code-developer.de/ anschauen. Und dann drüber nachdenken, was Du da machst...

Auf der genannten Seite wäre speziell DOWN interessant und da vor allem KISS.

Aber das ist mir jetzt wirklich zu blöd hier. Ich muss Dich nicht überzeugen oder so. Du kannst Deine Lösung weiter für eine tolle Idee halten. Aber die Reaktionen waren doch eindeutig:
Sorry aber das ist doch Blödsinn ... Einen ungeeigneten Datentyp nutzen nur weil ein Programmierer kein passendes Literal nutzen kann?
Warum verwenden wir nicht alle nur noch Strings für alles? Exceptions zur Laufzeit sind doch viiieeel besser als sofortige Compilerfehler zur Übersetzungszeit... NICHT!
Aber ok, ich bin böse und habe keine Ahnung... Die 15 Punkte Informatik LK schlagen Jahrzehnte berufliche Auseinandersetzung mit dem Thema natürlich. :)
 
Du hast den wichtigsten Punkt vergessen .. er hieß vorher 'DerWissende' ... wie willst du das schlagen? :eek:
Scheisse. Das habe ich nicht mitbekommen und gewußt! Das ist mir jetzt echt peinlich. Wenn ich das gewusst hätte, hätte ich mich nicht erst eingemischt sondern statt dessen gewissen Buchautoren böse Mails geschrieben, weil sie offensichtlich keine Ahnung haben ....
 
Mich interessieren Deine beruflichen Erfahrungen nicht. Man kann auch jahrzehntelang nur Däumchen drehen. Das ist für mich kein Kriterium.

Also bitte, bleibe sachlich, oder lasse mich in Ruhe.
Ja genau. Aber das ist echt gemein, das so hier zu schreiben! Wenn das mein Chef liest! Der zahlt mir viel Geld dafür, dass ich nur Däumchen drehe. Wenn der heraus bekommt, dass ich nur so tue, als ob ich all die Bücher gelesen und verstanden habe ....

Ach nee ... Wir hatte uns eben ja darauf eingeschossen, dass die Bücher alle falsch sind. Die Buchautoren hätten sich halt mit Dir abstimmen sollen... So ist ja verständlich, dass ich komplett daneben liege. Hab mich halt von irgendwelchen Populistischen Buchschreibern verführen lassen....

Also wäre hier wohl das Beste, wenn ich meinen Chef überrede, dass wir dich als Dozenten für paar Wochen kriegen. Hast du in den Sommerferien schon was vor? Was für einen Tagessatz nimmst Du? Was meinst Du, wie viele Wochen Inhouse Training hier angebracht sind um so total fehlgeleitete Entwickler wie mich zu befähigen, richtigen Clean Code zu schreiben, der auch durch die harten Code Reviews, wie sie bei euch üblich sind, zu kommen?

BTW: Dir ist klar, dass ich lange auf einer reinen Sachebene geblieben bin und Du von Anfang an mir gegenüber abfällig warst? Dass eine Diskussion mit mir nicht möglich wäre und so weiter. Es waren Andere, die Deine Lösung als "Blödsinn" beschrieben haben und nicht ich. Aber nett, dass Du Dich auf mich eingeschossen hast .... Aber bitte wundere Dich nicht, wenn ich dann auch die Sachebene verlasse, da Du ja offensichtlich kein Interesse an dieser hast. Und daher habe ich dann die Steilvorlage von wegen "Diskussion mit Wand führen" dann auch langsam angenommen (Meine Frage, ob ich einen Troll gefüttert habe ....).
 
Und Du verkehrst Ursache und Wirkung. Ich habe nicht die Sachebene verlassen, das waren @mrBrown und Du.

Ich hätte vielleicht weiter DerWissende heißen sollen, dann würden solche Fehlinterpretationen wie von Dir gar nicht erst aufkommen.

Aber bleiben wir etwas unsachlich, mich interessiert auch nicht ein möglicher, von euch nicht aufzubringender Tagessatz für mich... Deswegen würde ich vorschlagen, wir belassen es dabei.
 
Wie schon vorbei?!? Hm... OK, welche andere Möglichkeit gibt es, die Zahl 9 im Quellcode als 09 darzustellen? (wieso gibt es hier keinen evil-grin-Smiley?)
 
Irgendwie müssen witzige Diskussionen ja belebt werden :) Und um zur Sache zurückzukehren, habe ich die entsprechende Frage gestellt: mit Ausnahme von 0x09 und "09" würde mir ad hoc keine Möglichkeit einfallen, die 9 mit führender 0 im Quelltext in Form eines Literals darzustellen.

Ich rate mal: 010 im Oktalsystem?
Die 9 wäre aber 011 oktal ;) und nein - ich meinte schon in Form eines Literals.
 
Irgendwie müssen witzige Diskussionen ja belebt werden :) Und um zur Sache zurückzukehren, habe ich die entsprechende Frage gestellt: mit Ausnahme von 0x09 und "09" würde mir ad hoc keine Möglichkeit einfallen, die 9 mit führender 0 im Quelltext in Form eines Literals darzustellen.


Die 9 wäre aber 011 oktal ;) und nein - ich meinte schon in Form eines Literals.
Schreiben als Hex war mir auch im eigentlichen Thread durch den Kopf gegangen, aber da ist das Problem, dass die Werte ja auch zweistellig werden. Bei führender Null im zweistelligen Bereich wäre es okay, aber eine schnelle Änderung von 0x09 auf 0x10 hätte dann schnell einen möglichen Fehler (So hier wirklich nur 10 gemeint war und nicht 16).

Daher war dies aus meiner Sicht nicht erwähnenswert.

Da es in dem Thread um ein Datum ging, wäre es evtl. denkbar gewesen, dazu eine Klasse zu schreiben. Also Parameter ist ein Datum und nicht einzelne Teile des Datums und so die gegebene Funktionalität nicht ausreichen sollte, die das Framework hier mitbringt, wäre hier evtl. ein Builder für Datum oder so denkbar. Aber das Beispiel ist evtl. zu trivial. Wir suchen komplexe Lösungen für ein einfaches Literal, weil jemand die führende Null für wichtig hält?
 
Nur mal aus Interesse: Wo habe ich hier die Sachebene verlassen?

Es mag durchaus vorkommen. Aber das bedeutet nicht, dass es gut oder wünschenswert ist, es so zu machen.
Gerade bei Datenbanken findet man bei Anfängern die massive Nutzung von "Strings". Egal was, man speichert es als varchar.

Und als Entwickler hat man Code nun einmal korrekt anzugeben. Wenn ich Java Programme schreiben will, dann muss ich nun einmal die Syntax von Java verwenden.

Wenn man unbedingt die führende 0 haben wollte, dann würde das also im Aufruf etwas sein wie Integer.parseInt("08"). Und das aber bitte nicht direkt im Code sondern herausgezogen in einer Konstanten. Aber selbst da würde ich überlegen, ob die notwendig ist bezüglich lesbarer Code ...

Und ja - es gibt einen Bereich, in dem sowas in der Art tatsächlich vorkommt: Wenn die Zahl aus aus einer Config-Datei gelesen wird. Dann liegt der Wert als String vor und muss gelesen und ebenfalls in ein Integer gewandelt werden.
Aber das Szenario ist dann halt auch wieder komplett unterschiedlich, denn es geht dann um eine Eingabe zur Laufzeit.
Danach hast Du die Sachebene verlassen, denn angeblich hätte ich mir widersprochen und Diskussionen machen keinen Sinn ...

Also ich bin rein auf der Sachebene unterwegs und bewerte Code. Es mag Dir nicht gefallen, dass jemand Deinen Code bewertet, aber das ist schlicht nur Dein Problem.

Und bezüglich falsche Verwendung von Strings habe ich dann sogar ein Beispiel gebracht, bei dem ich es öfters sehe: Datenbanken, die von weniger versierten Leuten entwickelt werden.

Dann komme ich zurück zum Kernthema: Wenn man in einer Sprache entwickelt, dann hat an sich im Rahmen der Definitionen zu bewegen (=> Und somit Literale korrekt anzugeben!)

Wenn aus irgend einem Grund (Hier habe is explizit keine Wertung oder so vorgenommen. Die Gedankengänge des TE kenne ich nicht) doch etwas in der Art zwingen notwendig wäre, dann wäre aus meiner Sicht das Parsen im Aufruf oder eben in eine Definition einer Konstanten denkbar. -> Also eine alternative Idee / Lösung.

Und zuletzt noch die Problematik, dass entsprechende Werte von außen kommen. Hier kann man mir vorwerfen, dass dies am Thema vorbei gehen würde, denn es ging ja um Definition von Literalen in Java und was ein Benutzer eingibt oder in einem Config File steht ist erst einmal nicht Bestandteil der JLS.

Aber ich sehe keinen Bereich, in dem ich den Sachbereich verlassen hätte zu dem Zeitpunkt. Noch sehe ich irgend einen Angriff gegen Deine Person. Um so unverständlicher ist Deine Reaktion von wegen: Ich würde mich widersprechen. (Ich habe ja nie behauptet, dass Strings generell nicht zu verwenden sind. Es ging nur darum, dass ich die Parameter der Funktion nicht von int auf String umändern würde!) Und dann kommt von Dir das Verlassen der Sachebene.

Aber diese hast Du ja bereits vorab verlassen, den vor meinem Post kam von Dir ja schon "Geheimsache".... Aber schön, dass sowas in Deinen Augen kein Verlassen der Sachebene ist .... Behauptungen, die bei Nachfragen nicht erläutert oder konkretisiert werden, sind einfach Unsinnig. Und Du neigst generell leicht dazu, die Sachebene zu verlassen. Bei einem Thread zu Clean Code neulich, den ich mit Anderen hatte musstest Du auch unqualifiziert reingrätschen...
 
Nur mal aus Interesse: Wo habe ich hier die Sachebene verlassen
Überall... und auch zuerst.

Du scheinst nicht mal zu merken, dass ich mich mit Dir darüber nicht unterhalten möchte.

Bearbeitung:
Aber diese hast Du ja bereits vorab verlassen, [...] Aber schön, dass sowas in Deinen Augen kein Verlassen der Sachebene ist .... Behauptungen, die bei Nachfragen nicht erläutert oder konkretisiert werden, sind einfach Unsinnig. Und Du neigst generell leicht dazu, die Sachebene zu verlassen
Entschuldigung aber, phantasierst Du gerade?
 
Zuletzt bearbeitet:
Dann bring endlich Belege. Wo habe ich die Sachebene verlassen in meinem ersten Beitrag! Du stellst Behauptungen auf ohne diese irgendwie zu belegen und dann versuchst Du Dich mit "Ich will mich darüber nicht unterhalten" und Co aus der Affäre. dabei habe ich jetzt sogar ausgeführt, wieso mein Beitrag auf der Sachebene war und Du vorher schon von der Sachebene abgewichen bist.

Und jetzt bin ich auch hier wieder auf einer Art Sachebene. Das nennt sich Meta Ebene auf der ich sachlich schaue, wer eben was wie kommuniziert hat. Daher unterlasse ich es hier auch, Dich irgendwie zu titulieren. Das hatten wir nach Verlassen der Sachebene schon zur genüge.

Daher jetzt meine Bitte: Entweder werde endlich konkret oder lass es einfach ganz bleiben (Da Du ja diese "Diskussion" nicht willst. Aber Diskussion ist es nicht, denn eine Diskussion ist ein Austausch von Argumenten und von Dir kommen keine Argumente sondern nur Thesen, die Du nicht belegen willst/kannst.)

@kneitzel Kleiner Tipp von mir: Du solltest die Unterhaltungen mit @Tobias-nrw nicht so ernst nehmen. Ganz egal wie richtig es ist was du schreibst, er würde niemals zustimmen. (Außer bei @mihe7 was ich bis heute nicht verstehe .. vielleicht ist @mihe7 ja @Tobias-nrw :eek::p )
Ich nehme diese Unterhaltung nicht ernst. Nur eben gehe ich davon aus, dass jemand, der in der Oberstufe ist, doch eine gewisse Grundbildung hat. Daher habe ich Aussagen von ihm aufgegriffen und versucht seine verschobene Wahrnehmung zu verdeutlichen. Aber da kommt von ihm ja nichts....

@mihe7 s Beiträge sind inhaltlich oft am wenigsten falsch (sorry, ist jetzt kein super Kompliment...) Dementsprechend kann ich ihnen nur zustimmen. ;)
Das ist wieder so geil. Was für eine Sichtweise. Er hat immer Recht, wir immer Unrecht. Selbst @mihe7 hat nicht Recht sondern seine Aussagen sind nur etwas weniger falsch ....

Hoffentlich studiert er Informatik, dann kann er sich mit blöden Professoren rumschlagen, die bestimmt auch alle keine Ahnung haben ...

Also da muss man doch immer weiter drauf rum reiten. Sorry, aber da bleibe ich nicht mehr sachlich: So einen dummen Spinner muss man doch ständig vorführen ... Das ist doch jetzt richtig lustig!
 
Daher unterlasse ich es hier auch, Dich irgendwie zu titulieren
Man muss jemanden nicht A... nennen, um ihn zu beleidigen.

Wir haben jetzt mittlerweile den Punkt der "Diskussion" erreicht, den ich schon vorhergesehen hatte. Eine sachliche Diskussion ist nicht mehr möglich. Und unnötigen Respekt vor einem Kleinkind muss ich nicht haben.

Mach's gut.
 
Wir haben jetzt mittlerweile den Punkt der "Diskussion" erreicht, den ich schon vorhergesehen hatte. Eine sachliche Diskussion ist nicht mehr möglich.
Das ging von dir aus. Und da du damit mal wieder sehr deutlich unter Beweis gestellt hast, dass sachliche Diskussionen mit dir kaum möglich sind, mach ich hier jetzt zu.

Falls jemand noch ernsthaften Diskussionsbedarf zu diesem Thema sieht, darf gerne ein neues Thema aufgemacht werden.
 
@mrBrown kannst Du den folgenden Beitrag evtl. noch an den Thread https://www.java-forum.org/thema/string-parameter-statt-integer.185034 hängen?

Da ist man mal 'ne Stunde nicht da und wird Gegenstand des Cyber-Mobbings :)

Wir suchen komplexe Lösungen für ein einfaches Literal, weil jemand die führende Null für wichtig hält?
Nein, es geht nur um eine rein akademische Frage. Ich habe ja zuvor schon deutlich gemacht, dass man mit int a = Integer.parseInt("09"); das Ur-Problem nur von einem int-Literal ein String-Literal verschiebt.

Ganz egal wie richtig es ist was du schreibst, er würde niemals zustimmen. (Außer bei @mihe7 was ich bis heute nicht verstehe
Was soll das den heißen?!? So schlimm sind meine Kommentare hoffentlich auch nicht.

Nein, seinem Namen nach trennen uns ein paar hundert Kilometer Autobahn.

Selbst @mihe7 hat nicht Recht sondern seine Aussagen sind nur etwas weniger falsch ....
Meine Aussagen sind oft falsch/unpräzise genug. Ich habe mir auch schon den ein oder anderen Fauxpas geleistet :)
 
Status
Nicht offen für weitere Antworten.
Passende Stellenanzeigen aus deiner Region:

Neue Themen

Oben