end if?
- C
Sie verwenden einen veralteten Browser (%browser%) mit Sicherheitsschwachstellen und können nicht alle Funktionen dieser Webseite nutzen.
Hier erfahren Sie, wie einfach Sie Ihren Browser aktualisieren können.
Hier erfahren Sie, wie einfach Sie Ihren Browser aktualisieren können.
Es gibt 36 Antworten in diesem Thema. Der letzte Beitrag () ist von thefiloe.
-
-
tolio schrieb:
was lernen wir daraus, richtig, es macht keinen unterschied, also liegt es im auge des betrachters was "schöner" aussieht
Wer codetweist sich aus als einer, der das Konzept "Boolean" noch nicht richtig verstanden hat.
-
Meiner Meinung nach kann (gerade solche Sachen) jeder es so schreiben wie es immer besser gefällt.
Viele machen auch
Ich mache jedoch meistens
Weil ICH es übersichtlicher finde.
Bei @ErfinderDesRades sieht man oft, dass alles ohne eine einzige Leerzeile gecodet wird. Meiner Meinung nach total unübersichtlich.
Anderes Beispiel:
Beides geht. Beides vermutlich "IL-Genau" (kenn mich hier zuwenig aus).
Deswegen kann ich @tolio hier nur recht geben.
Soll doch jeder so schreiben wie ER es dann besser lesen kann. Noch dazu da es in vielen Programmen eh nur einen Entwickler gibt und man sich nicht eventuell nicht an spezielle RIchtlinien (zB einer Firma) halten muss.
lgScheduleLib 0.0.1.0
Kleine Lib zum Anlaufen von Code zu bestimmten Zeiten -
@fichz Bei dir macht es auch überhaupt keinen Unterschied, da es dem Tokenizer völlig wurscht ist ob du da Leerzeilen drin hast oder nicht.
Bei der if-Abfrage macht es aber in der Theorie sehr wohl einen Unterschied.
Bei dem not dürfte es keinen großen Unterschied machen, vielleicht ist not sogar schneller als <>. Diese Aussage sollte man allerdings lieber erstmal überprüfen, ich bin mir da nämlich nicht wirklich sicher.
afaik ist der Not-Operator bei Boolean eine Boolean-Negation und bei numerischen Typen eine bitweise Negation. Bei Booleans sollte aber <> idealerweise auch auf nicht anderes testen.Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „SplittyDev“ ()
-
-
Wie gesagt, macht es in der Theorie den Unterschied, dass mehr Variablen zugewiesen und mehr vergleiche gemacht werden als nötig.
Obwohl es in der Praxis wegoptimiert wird kann man es schon als schlechten coding stil ansehen. In lowlevel-sprachen wäre der performance verlust vermutlich sogar messbar.
Wie man seine Leerzeilen verteilen sollte wird zwar in den C# (bzw. VB) Coding Guidelines festhelegt, am Ende macht es aber keinen Unterschied, da es den Code letztendlich in keiner Weise beeinflusst. -
SplittyDev schrieb:
afaik ist der Not-Operator bei Boolean eine Boolean-Negation und bei numerischen Typen eine bitweise Negation.
Kannst ja mal einen solchen Code copmpilieren und wieder recompilieren.Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch
Ein guter .NET-Snippetkonverter (der ist verfügbar).
Programmierfragen über PN / Konversation werden ignoriert! -
-
Also ich weiß jetzt immer noch nicht was du mit "In der Theorie" meinst.
Das sind 2 ganz einfache IF-Abfragen, welche vermutlich (wie gesagt müsste man prüfen) ganz gleich sind.
lgScheduleLib 0.0.1.0
Kleine Lib zum Anlaufen von Code zu bestimmten Zeiten -
tolio schrieb:
immer wieder schön wenn das ganze halbwissen rausgeholt wird statt einfach mal nen stichhaltiges argument zu bringen...
Quadsoft schrieb:
Falsch, das wird alles wegoptimiert.
Da muss ich nachfragen wie ihr das mit einer solchen Sicherheit behaupten könnt. Wir sprechen hier nicht vom CSC von Microsoft und auch nicht von der Runtime von Microsoft sondern wir sprechen von Unity. Und Unity ist ein eigenes Konstrukt für sich. So hat Unity auch einen eigenen Compiler (welcher leider bei weitem nicht alle Features von c# unterstützt) bei welchem man nicht sagen wie er das in compiliert. Tatsache ist, dass Unity irgendwie den C# Code in nativen Code übersetzt. Wie... das weiß keiner. Kann sein, dass er das weg optimiert. Kann aber auch nicht sein. -
Artentus schrieb:
Dankt Microsoft, dass sie den Compiler schlauer gemacht haben als den Programmierer.
Mikrooptimierungen sind sinnlos, gerade weil der Compiler meist viel besser optimiert als es der Programmierer könnte.Von meinem iPhone gesendet
-
@thefiloe
laut wiki basiert unity auf mono. (ich selbst hab das noch nie verwendet) mono macht ebenfalls optimiereungen. -
Wie gesagt. Man weiß es nicht sicher. Manche sagen, dass sie einen eigenen oder zumindest modifzierten Compiler verwenden (finde das mit Mono auch weitaus einleuchtender). Aber selbst wenn sie rein den Mono compiler verwenden... kann man nicht zu 100% sagen, dass dieser das auch optimiert (wobei davon auszugehen ist). Und selbst wenn, dann merkt man wohl kaum einen Performanceunterschied.
-
um ehrlich zu sein, das codebeispiel aus meinem post war auch mit mono kompiliert.
-
thefiloe schrieb:
Tatsache ist, dass Unity irgendwie den C# Code in nativen Code übersetzt. Wie... das weiß keiner.
Bist du dir da ganz sicher? Spiele die ich kenne und mit unity/mono laufen, zb hearthstone von blizzard habe alle ganz normale managed .Net dlls irgendwo in ihren ordnern über die das komplette spiel läuft. -
@thefiloe
nein, Unity hat lediglich wrapper-Klassen um C++-DLLs, die mit .NET programmiert werden können. -
-
13 Benutzer haben hier geschrieben
- MistaMiyagi (7)
- RodFromGermany (5)
- Quadsoft (4)
- fichz (4)
- thefiloe (3)
- SplittyDev (3)
- Trade (2)
- enba (2)
- Artentus (2)
- Gast (2)
- Radinator (1)
- nikeee13 (1)
- ErfinderDesRades (1)