-
Spaghetti-Code
Autor: GilBates 21.02.23 - 22:50
so mit diesen Klammersetzungen.
if ..
{
..
}
sieht nicht schön aus.
man sollte das bisschen Code nicht so unnötig in die Länge ziehen.
so ist es richtig:
if .. {
..
}
Gut, es spart am Ende nur eine Zeile. aber die macht es hier aus. so ist es sauber, sitzt, passt, wackelt und hat Luft. -
Re: Spaghetti-Code
Autor: GilBates 21.02.23 - 22:52
von wegen nur eine Zeile.
}
else
{
die eine Zeile hätte es vielleicht gar nicht so hässlich gemacht,
aber wie man hier sieht, wird eine Zeile auf drei gestreckt.
und das ist einfach unschön -
Re: Spaghetti-Code
Autor: r3wDy 21.02.23 - 22:53
Das ist nicht im entferntesten die Definition von Spaghetti Code.
Das ist einfach nur eine Formatierung, die dann noch jeder beautifier gerade biegen kann ich z.b. schreibe Code auch immer mit der Klammer in der nächsten Zeile, nur bei Else oder elae If nicht.
Alles in allem aber wohl eher Geschmackssache -
Re: Spaghetti-Code
Autor: GilBates 21.02.23 - 23:11
das ist mir bekannt, aber hier passt der Begriff noch besser.
weil sich der Text vertikal in die Länge zieht wie .. ja, wie eine Spaghetti halt.
sieht nicht schön aus.
es spielt da auch keine Rolle, ob man das noch formatieren kann.
so hat es der Autor erstellt und wer so einen Code erstellt, macht den Eindruck, dass er keinen Bock hat oder seinen Code unnötig in die Länge ziehen will.
das mit der Klammer in der nächsten Zeile ist zwar schon unnötig , aber das wäre hier ja nicht das Problem. ich hab das nur erwähnt, weiil der Code halt auffallend hässlich dahin geklatscht ist,
da ist die Klammer in der nächsten Zeile schnell aufgefallen.
eigentlich sind ja Konstruktionen wie
die hier
}
else
{
das Problem.
das ist wirklich...
wenn mir jemand so ein Haus baut, dann stürtzt es ein.
Wenn mir jemand so einen Spaghetti-Code vorsetzt, wird er abgelehnt. -
Re: Spaghetti-Code
Autor: Tragen 21.02.23 - 23:42
Sehe ich anders. Ich kann beide Varianten lesen aber für mein Auge ist
dein "Spaghetti-Code" schneller zu erfassen weil es auf einer Linie steht. -
Re: Spaghetti-Code
Autor: MysticFoxDE 22.02.23 - 00:02
1. Dieser Code ist mit Absicht so geschrieben, damit er sehr einfach und vor allem auch für Laien lesbar ist.
2. Wem der Code nicht gefallt, darf ihn jederzeit forken und verbessern.
3. Diese Diskussion über die Qualität des Codes, geht übrigens komplett am eigentlichen Thema vorbei! -
Re: Spaghetti-Code
Autor: GilBates 22.02.23 - 00:03
ist nicht mal ordentlich eingerückt, das Zeug
{
a
}
Spaghetti-Code.
das ist eine Art vertikale Einrückung, aber nicht horizontal.
da gibt es 172 mal {
aber nicht jedes steht in einer Zeile.
aber nehmen wir an, dass es auch } 172 mal gib,t könnte man gut 300 Zeilen ohne den geringsten Informationsverlust vermeiden.
das ist im Grunde völlig dahin gerotzter Code.
so was findet bspw. auch
if ($DEDAILEDDEBUG -eq "ON")
{Write-Host $_ -ForegroundColor Red}
}
Absurde Einrückung und Klammernsetzung hier, auch nicht einheitlich, halt kein Bock drauf, was ordentlich abzuliefern, noch nie etwas von einem Formatierer gehört. Qualitativ damit fragwürdig.
das ist das, was man aus diesem Spaghetti-Code zwangsläufig ablesen muss. -
Re: Spaghetti-Code
Autor: GilBates 22.02.23 - 00:04
hier durch das html wird die absurde Formatierung natürlich nich ganz korrekt dargestellt...
aber das ist einfach dahin gerotzt.
und das erkennt hoffentlich auch ein Laie. -
Re: Spaghetti-Code
Autor: GilBates 22.02.23 - 00:08
vielleicht kenn ich auch Powershell nicht gut genug, aber ist das hier
if ($DEDAILEDDEBUG -eq "ON")
... {Write-Host $_ -ForegroundColor Red}
}
eine gütlige If-Zeile? -
Re: Spaghetti-Code
Autor: Tragen 22.02.23 - 00:10
Ja ist es.
if ( )
und dann wird der Wert mit eq = equal, neq = not equal
gt = > usw verglichen -
Re: Spaghetti-Code
Autor: GilBates 22.02.23 - 00:12
wahrscheinlich, die letzte Klammer gehört zu einem völlig anderen Block, dank der chaotischen Einrückung erkennt man es nicht so leicht und diese Einrückung hier enthält ausnahmsweise geschweifte Klammern und diesmal auf der gleichen Zeile.
na ja, genug. aber die Formatierung ist schon abgenteuerlich. -
Re: Spaghetti-Code
Autor: GilBates 22.02.23 - 00:17
Tragen schrieb:
--------------------------------------------------------------------------------
> Ja ist es.
> if ( )
> und dann wird der Wert mit eq = equal, neq = not equal
> gt = > usw verglichen
ist es eben nicht. die letzte Klammer gehört gar nicht zu dem Ausdruck. was so in keiner strukturierten Sprache gemacht
die If-Zeile sieht halt ähnlich chaotisch aus wie der Rest. q.e.d. -
Re: Spaghetti-Code
Autor: MysticFoxDE 22.02.23 - 00:25
GilBates schrieb:
--------------------------------------------------------------------------------
> wahrscheinlich, die letzte Klammer gehört zu einem völlig anderen Block,
> dank der chaotischen Einrückung erkennt man es nicht so leicht und diese
> Einrückung hier enthält ausnahmsweise geschweifte Klammern und diesmal auf
> der gleichen Zeile.
>
> na ja, genug. aber die Formatierung ist schon abgenteuerlich.
An deinen Kommentaren merkt man nur, dass du von leserlichen Codeschreiben, nicht wirklich viel verstehst.
Du kannst ja mal gerne deine Formatierungsbedenken bei Github äussern und dann sehen wir was die Github Gemeinde dazu sagt.
By the Way, der Code hat alleine heute schon über 100 Sterne in Github erhalten und noch kein einziger hat dort über dessen Formatierung gemeckert.
Und nochmals, diese Diskussion über den Code des Skripts, geht vollkommen am eigentlichen Thema vorbei! -
Re: Spaghetti-Code
Autor: MysticFoxDE 22.02.23 - 00:29
GilBates schrieb:
--------------------------------------------------------------------------------
> Tragen schrieb:
> ---------------------------------------------------------------------------
> -----
> > Ja ist es.
> > if ( )
> > und dann wird der Wert mit eq = equal, neq = not equal
> > gt = > usw verglichen
>
> ist es eben nicht. die letzte Klammer gehört gar nicht zu dem Ausdruck. was
> so in keiner strukturierten Sprache gemacht
> die If-Zeile sieht halt ähnlich chaotisch aus wie der Rest. q.e.d.
---
if ($STATUSPCF -eq "Disabled")
{
Write-Host " The PACKET COALESCING FILTER is already disabled, so nothing to do. :-)" -ForegroundColor Green
}
else
{
Write-Host " The PACKET COALESCING FILTER is enabled, try next to disable it." -ForegroundColor Yellow
try
{
Set-NetOffloadGlobalSetting -PacketCoalescingFilter Disabled -ErrorAction Stop
Write-Host " The PACKET COALESCING FILTER is successfully set to disabled. :-)" -ForegroundColor Green
}
catch
{
$DISABLEPCFOK = $false
Write-Host (" The PACKET COALESCING FILTER could not set to disabled. :-(") -ForegroundColor Red
if ($DEDAILEDDEBUG -eq "ON")
{Write-Host $_ -ForegroundColor Red}
}
}
---
Einfach mal die Glubscher besser aufmachen, das hilft schon sehr oft.
1 mal bearbeitet, zuletzt am 22.02.23 00:30 durch MysticFoxDE. -
Re: Spaghetti-Code
Autor: wasdeeh 22.02.23 - 00:48
GilBates schrieb:
--------------------------------------------------------------------------------
> so mit diesen Klammersetzungen.
> if ..
> {
> ..
> }
>
> so ist es richtig:
> if .. {
> ..
> }
Also Allman/BSD vs K&R/1TBS etc. ist echt das geringste Problem bei Spaghetti-Code (und eigentlich nur eine Frage der richtigen IDE-Einstellungen). -
Re: Spaghetti-Code
Autor: pculiar 22.02.23 - 07:30
GilBates schrieb:
--------------------------------------------------------------------------------
> das ist mir bekannt, aber hier passt der Begriff noch besser.
> weil sich der Text vertikal in die Länge zieht wie .. ja, wie eine
> Spaghetti halt.
>
*Klugscheissmodus* {
unter Spaghetticode versteht man Code, der ähnlich strukturiert ist, wie ein Teller voller gekochter Spaghetti, also Code, der dank hin- und her gespringe und wirrer Verweise nur schwer les- und wartbar ist. Bitte denk dir eine andere Beleidigungsform für diese Art von Code aus. Ein Vorschlag wäre "Gummibandcode", wenn es dich die CRLF so sehr stören.
} -
Re: Spaghetti-Code
Autor: MysticFoxDE 22.02.23 - 07:39
wasdeeh schrieb:
--------------------------------------------------------------------------------
> GilBates schrieb:
> ---------------------------------------------------------------------------
> -----
> > so mit diesen Klammersetzungen.
> > if ..
> > {
> > ..
> > }
> >
> > so ist es richtig:
> > if .. {
> > ..
> > }
>
> Also Allman/BSD vs K&R/1TBS etc. ist echt das geringste Problem bei
> Spaghetti-Code (und eigentlich nur eine Frage der richtigen
> IDE-Einstellungen).
Der Code ist in beiden fällen richtig!
Und dessen Formatierung, ist mehr eine Frage des Geschmacks und des Stills und nicht ob richtig oder falsch.
Ein "enter" frisst binär übriges dasselbe wie ein "space". -
Re: Spaghetti-Code
Autor: non_sense 22.02.23 - 07:42
MysticFoxDE schrieb:
--------------------------------------------------------------------------------
> By the Way, der Code hat alleine heute schon über 100 Sterne in Github
> erhalten und noch kein einziger hat dort über dessen Formatierung
> gemeckert.
Wieso sollte man auch?
Abgesehen davon, hat die Formatierung nichts mit Spaghetticode zu tun. Auch gibt es kein Richtig oder Falsch. Je nach Sprache wird mal das eine oder das andere empfohlen. Wollen wir uns jetzt hier auch noch über Tabs vs. Spaces unterhalten? -
Re: Spaghetti-Code
Autor: non_sense 22.02.23 - 07:47
MysticFoxDE schrieb:
--------------------------------------------------------------------------------
> Der Code ist in beiden fällen richtig!
> Und dessen Formatierung, ist mehr eine Frage des Geschmacks und des Stills
> und nicht ob richtig oder falsch.
Exakt. In C# empfiehlt Microsoft sogar die Schreibweise
if(...)
{
...
}
Siehe C# Coding Conventions
1 mal bearbeitet, zuletzt am 22.02.23 07:47 durch non_sense. -
Re: Spaghetti-Code
Autor: ayngush 22.02.23 - 09:08
Es gibt verschiedene Konventionen und keine davon ist "richtig" oder "falsch".



