Welcher Code ist besser?
Welchen von beiden Codes findet ihr besser welchen denkt ihr habe ich programmiert und welchen jemand anders?
Beide sind in Java und bezwecken dasselbe.
7 Antworten
Beide sind nicht gut.
Der erste Code definiert unnötige Variablen, der zweite Code macht zu viel in einem Schritt.
Zudem verwenden beide Beispiele den Wert "0.2" ohne zu erklären, was dieser bedeuten soll und an Kommentaren mangelt es auch.
Zu dem programmiere ich auch erst seit drei Monaten
*dieser
Habe es korrigiert.
Zu dem programmiere ich auch erst seit drei Monaten
Ist ja auch konstruktive Kritik, die hilft dir auch.
Umd es einmal auszuformulieren:
1.) Wenn die knappere Schreibfrom zu Unklarheoten führen kann, dann verwende diese nicht. In dem Fall hier solltest du das Increment vor den Funktionsaufruf packen, da ein leser sonst erst nachlesen müsste, ob nun der erhöhte Wert oder der Wert vor der Erhöhung weitergegeben wird.
Zudem sollte auch aus Gründen der Wartbarkeit beides in zwei Schrotte aufgeteilt werden, denn wenn man das Increment in Zukunft anders berechnen wollen würde müsste man das sowieso womöglich arusziehen.
2.) Für Werte, die du im Code verwendest, deren Bedeutung nicht für jederman klar ersichtlich ist, solltest du Variablen/Konstanten mit sprechenden Namen definieren und diese stattdessen verwenden.
Hier könntest du die Konstante z.B. "PROGRESS_INCREMENT" nennen.
Das erlaubt auch, in Zukunft den Wert leichter anzupassen, sollte er an mehreren Stellen verwendet werden.
3.) Schau, dass du in Kommentaren immer kurz erklärst, was du tust. Du musst nicht an jedes Statment einen Kommentar ranpacken, aber das mit Kommentaren in sinnvolel Sektionen aufzuteilen macht schon Sinn.
Hier beispielsweise einmal "//Create button and progress bar", "//Register event listener für progress display" und "//Update progress bar".
Auch solltest du dort Kommentare hinpacken, wo etwas besonders erklärt werden muss, zum Beispiel, da es vom normalen abweicht.
Hier sehe ich dafür eher keinen Bedarf.
beide nich so gut
1 sehr viele unnötigen variablen
2 alles sehr kompakt, kann im nachhinein sehr schlecht werden ich spreche aus erfahrung
Und Kommentare fehlen bei BEIDEN
Also was der macht kann niemand wissen man sieht nur: irgendwas mit button, viele variablen, eine processBar und irgendwas noch
aber ich denke mal so wie der code geschrieben ist bist du erst neu also dürfte erstmal gut sein aber achte auf die kommentare das sehr wichtig
Zweite Version finde ich besser, da Closures einfach kürzer sind als anonyme Klassen. Problematisch finde ich die Variablennamen. b und pb weiß man wenigstens noch was es heißt, da die Initialisierung direkt da steht und die Klassen auch speziell genug sind. pvi, pvd, n und in zweitem Beispiel v sind völlig unklar. Da brauchst Du spezifischere Namen.
Hallo,
Der zweite Code ist hier eindeutig besser.
Er ist kürzer und dennoch einigermaßen gut verständlich. Ist das JavaFX das hier verwendet wurde? Danach sieht es jedenfalls aus.
Was sich mir in beiden Fällen nicht ergibt, ist wieso du "n" als double deklarierst.
Im zweiten Fall gefällt mir sehr gut, dass ein Lambda-Ausdruck verwendet wurde.
Wie einer meiner Vorredner schon sagte, ergibt sich nicht wirklich wofür "v" steht. Im ersten Moment hätte ich an "velocity" gedacht, allerdings passt das im konkreten Fall nicht.
Nun erwarte ich leider, dass ich hier auf diesen Kommentar hin von dir zu x-beliebigen Themen beschimpft werde, so wie du es soeben schon unter dem Kommentar von @Melissaistback gemacht hast. Ich weiß nicht wieso du dies tust, bin aber mal gespannt, ob du ähnliche Sachen auch zu mir sagst. Sollte dem so sein, ist bekannt das du ein Troll bist. Falls nicht... auf mich wirkst du dennoch wie einer.
Liebe Grüße
Den zweiten Code habe ich auch geschrieben, den ersten ein Kollege von mir. Ich weiß aber nicht warum er es so umständlich gemacht hat das macht für mich wenig Sinn aber wenn er damit zu recht kommt ok. Ich habe den Code relativ schnell geschrieben und deswegen einfach irgendein Buchstabe genommen also hat keinen konkreten Sinn.
Wie erwähnt: Dein Code ist auch alles andere als Perfekt. Beispielsweise ergibt sich mir immernoch nicht der Einsatz des Array an obig genannter Stelle. Vielleicht übersehe ich auch etwas.
Da du hier von deinem Arbeitskollegen schreibst, gehe ich mal davon aus, dass du als Softwareentwickler arbeitest. In diesem Fall solltest du an dem Code noch arbeiten.
Beispielsweise ergibt sich mir immernoch nicht der Einsatz des Array an obig genannter Stelle.
Das ist ein nicht sonderlich schöner Trick, um damit umzugehen, dass in Lambdas nur Variable aus der Closure verwendet werden dürfen, die "(effectively) final" sind.
Huch. Nun bin ich neugierig. Magst du da einmal genauer drauf eingehen?
Inwiefern neugierig? Heute beginnt das zweite Semester. Stande nur vor nicht da weil ich meinen Texte mit spracheingabe "schreibe" und das nicht immer gut unter iOS funktioniert 😅.
Ich und mein Kumpel hatten nur eine coding challenge wo es eben um Zeit ging wer es am schnellsten und effektivsten programmieren kann. Und deshalb kommt auch die Bezeichnung Zustand ich habe da einfach weil es schneller geht irgendein Buchstabe genommen.
Und die Beleidigung gestern war auch nicht persönlich gemeint ich hatte einfach nur ein sehr schlechten Tag und sie hat ja nichts falsch gemacht
Per se würde ich den 2. als den "besseren" bzw schöneren bezeichnen, da er einfach "cleaner" ist
Gegenfrage was bedeutet "diesre"