myCSharp.de - DIE C# und .NET Community
Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 
 | Suche | FAQ

» Hauptmenü
myCSharp.de
» Startseite
» Forum
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Suche
» Regeln
» Wie poste ich richtig?
» Forum-FAQ

Mitglieder
» Liste / Suche
» Wer ist wo online?

Ressourcen
» openbook: Visual C#
» openbook: OO
» Microsoft Docs

Team
» Kontakt
» Übersicht
» Wir über uns

» myCSharp.de Diskussionsforum
Du befindest Dich hier: Community-Index » Diskussionsforum » Gemeinschaft » Smalltalk » Coding Styles Horror
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | Thema zu Favoriten hinzufügen

Seiten (14): « erste ... « vorherige 10 11 12 13 [14] Antwort erstellen
Zum Ende der Seite springen  

Coding Styles Horror

 
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
RED-BARON
myCSharp.de-Mitglied

Dabei seit: 22.05.2006
Beiträge: 70


RED-BARON ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

hallo, ich finde es nicht lustig - es ist zum Heulen ...

C#-Code:
if ((list.Count(p=>p.IsSelected) -1) == 0 )

=> Liste leer.
??

!! => Fix: (eingecheckt, Wochen später ...)

C#-Code:
if ((list.Count(p=>p.IsSelected) -1) < 0 )

=> Liste leer.

wenn ich jetzt sage, dass die "-1" überflüssig ist, befürchte ich bleibt

C#-Code:
if ((list.Count(p=>p.IsSelected)) < 0 )

=> Liste leer.
??

stehen und der Fehler ist wieder drin ....... es sei denn, in der Liste ist
ein "Blind"-Objekt enthalten, was immer da drin ist. Leider weit und breit
kein Kommentar und der Rest vom Code sieht genauso aus ...
26.06.2017 21:11 Beiträge des Benutzers | zu Buddylist hinzufügen
Palin Palin ist männlich
myCSharp.de-Mitglied

Dabei seit: 22.08.2011
Beiträge: 1.090
Entwicklungsumgebung: VB.net


Palin ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top



Zitat von RED-BARON:
hallo, ich finde es nicht lustig - es ist zum Heulen ...

C#-Code:
if ((list.Count(p=>p.IsSelected) -1) == 0 )

=> Liste leer.

Wie so soll die Liste leer sein? Sie Enthält dann genau 1 Element mit IsSelected = true.

2. Fall ist die "Leere" Liste und der 3. kann nie eintreten.

Nur so als Hinweis falls in der Hitze des Gefechts was übersehen wurde.
27.06.2017 08:13 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
RED-BARON
myCSharp.de-Mitglied

Dabei seit: 22.05.2006
Beiträge: 70


RED-BARON ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

ja, übersehen - unter dem IF() steht, dass kein Eintrag existiert und jetzt ein neuer angelegt werden soll. Deswegen funktioniert 1. Variante auch nicht.
2. Variante funktioniert und ja 3 Variante würde nie funktionieren. - deswegen sag ich auch besser nichts dazu - sonst wird's wieder falsch.

Ich hätte es realisiert mit
if(!liste.Any()) oder list.count()==0 - damit das ! nicht übersehen wird auch wenn es weniger performat sein mag
{
// es existiert kein Eintrag, jetzt neu anlegen ?
}

was das IsSelected überhaupt soll - ich weiß es nicht.
Wenn ein Eintrag in der Liste ist der selektiert ist .... kommt auch die
Frage ob jetzt ein neuer angelegt werden soll, weil keiner existiert.

Das Variante 2 funktioniert im Sinne des Programmes ist reiner Zufall
und kann über die Selektierung vom Nutzer selbst bestimmt werden ...

Aber auch wieder nicht - weil diese Prüfung beim Öffnen der Ansicht/Laden
kommt und da hat niemals nie jemand was selektiert ...

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von RED-BARON am 28.06.2017 00:05.

28.06.2017 00:03 Beiträge des Benutzers | zu Buddylist hinzufügen
p!lle
myCSharp.de-Mitglied

avatar-3556.jpg


Dabei seit: 22.02.2007
Beiträge: 1.028
Entwicklungsumgebung: Visual Studio (Community) 2017


p!lle ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Zitat von RED-BARON:
was das IsSelected überhaupt soll - ich weiß es nicht.

Nur kurz, ohne den genauen Kontext zu kennen:
Es kann natürlich ein Unterschied sein, ob eine Liste leer ist oder ob in einer Liste kein Eintrag ausgewählt ist. Pauschal kann man das also nicht "verurteilen". Augenzwinkern
28.06.2017 10:18 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
myCSharp.de
Moderationshinweis von gfoidl (28.06.2017 10:30):

Genau, daher in den "Horrors" bitte nicht weiter vertiefen, ggf. ein neuen Thema dazu erstellen und den Kommentar am Beginn dieses Thema beachten.
 
Zwischen diesen beiden Beiträgen liegen mehr als 2 Monate.
FormFollowsFunction FormFollowsFunction ist männlich
myCSharp.de-Mitglied

avatar-4087.png


Dabei seit: 12.09.2017
Beiträge: 4


FormFollowsFunction ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Moin

Ich muss gestehen, meinen Einstand im Lesterthread zu geben, fühlt sich etwas komisch an, aber was solls. ^^

Ursprünglich war das mal VB, habs leicht abgeändert um zu anonymisieren.

C#-Code:
private void Button_Click(object sender, RoutedEventArgs e)
{
    Button btn = sender as Button;
    if (btn != null) {
        MessageBox.Show(((Button)sender).Name);
    } else {
        MessageBox.Show("Error: Es wurde kein Button geklickt!!");
    }
}


mycsharp.de  Moderationshinweis von gfoidl (21.09.2017 10:42):

Diskussion dazu in  Diskussion zu Coding Styles Horror: Button_Click-Eventhandler
 
19.09.2017 15:00 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Zwischen diesen beiden Beiträgen liegen mehr als 2 Monate.
markl markl ist männlich
myCSharp.de-Mitglied

avatar-4095.gif


Dabei seit: 29.09.2016
Beiträge: 77
Entwicklungsumgebung: VS2017 and VSC


markl ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Wenn Ihr immer schon einen "FancyRandomNameGenerator" haben wolltet, hier das Snippet for free:

C#-Code:
var randomString = new Random(DateTime.Now.Second).ToString();

Bitte aber im UnitTest nur einmal aufrufen... wird schon laufen.
25.11.2017 12:15 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Zwischen diesen beiden Beiträgen liegen mehr als 2 Monate.
Abt
myCSharp.de-Team

avatar-4119.png


Dabei seit: 20.07.2008
Beiträge: 13.442
Herkunft: Stuttgart/Stockholm


Abt ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Ich hab mal wieder was bei einem Review gefunden, nachdem ich erst mal nen Kaffee brauchte:

C#-Code:
public const String TRUE = "true";
public const String FALSE = "false";

Und dazu

C#-Code:
if (obj.Value.ToString().ToUpper() == TRUE)
14.02.2018 12:52 Beiträge des Benutzers | zu Buddylist hinzufügen
leafar leafar ist männlich
myCSharp.de-Mitglied

avatar-4093.jpg


Dabei seit: 07.03.2018
Beiträge: 5
Entwicklungsumgebung: VS2015, VS2017, Rider, InteliJ
Herkunft: Raum Soest


leafar ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Folgendes habe ich mal beim Review gesehen und ging mir seitdem nicht mehr aus dem Kopf:

C#-Code:
string xyz = textBox1.Text.ToString();

Grüße
leafar

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von leafar am 07.03.2018 10:12.

07.03.2018 10:11 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Zwischen diesen beiden Beiträgen liegen mehr als 2 Monate.
MrSparkle MrSparkle ist männlich
myCSharp.de-Team

avatar-2159.gif


Dabei seit: 16.05.2006
Beiträge: 5.299
Herkunft: Leipzig


MrSparkle ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Ich bin ja schon immer ein großer Fan davon gewesen, Konvertierungen zwischen Datentypen durchzuführen, indem man zuerst den Urprungswert in einen String konvertiert, und dann den String in den Zieltyp parst, so z.B.:

C#-Code:
short currentYear = short.Parse(DateTime.Now.Year.ToString());

Das hat eigentlich nur Vorteile:
- Es ist unperformant,
- Es ist unlesbar und
- Es ist eine potentielle Fehlerquelle

Wenn man das nur konsequent durchzieht, dann sieht das z.B. so aus:

C#-Code:
short currentYear = short.Parse(DateTime.Now.Year.ToString());
short currentMonth = short.Parse(DateTime.Now.Month.ToString());

if (selectedYear == 0 || (selectedYear < model.StartYear || selectedYear > model.EndYear))
{
    selectedYear = short.Parse(DateTime.Now.Year.ToString());
}

if (selectedYear != short.Parse(DateTime.Now.Year.ToString()))
{
    currentMonth = 0;
}

Das ist jetzt kein Code von einem Praktikanten, sondern von einer großen internationaler Firma, deren Hauptgeschäft darin besteht, Software für andere große internationale Firmen zu entwickeln. Das Problem ist hier wahrscheinlich, daß man Leuten, die sich mit der Geschäftslogik auskennen, den Auftrag gibt: "Setzt das mal in C# um, ihr wißt ja am besten wie das funktioniert, und programmiert habt doch auch schonmal."
22.05.2018 17:15 Beiträge des Benutzers | zu Buddylist hinzufügen
Zwischen diesen beiden Beiträgen liegen mehr als 4 Monate.
LaTino LaTino ist männlich
myCSharp.de-Poweruser/ Experte

avatar-4122.png


Dabei seit: 03.04.2006
Beiträge: 2.983
Entwicklungsumgebung: Rider / VS2019 / VS Code
Herkunft: Thüringen


LaTino ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Mal etwas von den hochgeschätzten Webfrickelkollegen:

Bin gerade über ein react-Projekt gestolpert, das im Ordner für die statischen Inhalte einen Unterordner für die Icons und dort in -zig Unterordnern für verschiedene Bildgrößen (Schema "8x8", "16x24", "16x16" usw.) ausschließlich .svg-Icons gesammelt haben. Hm - wofür stand das s in svg gleich wieder?

enttäuscht

LaTino
10.10.2018 12:10 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Khalid Khalid ist männlich
myCSharp.de-Poweruser/ Experte

avatar-2534.gif


Dabei seit: 19.07.2005
Beiträge: 3.505
Entwicklungsumgebung: Visual Studio 15/17
Herkunft: Hannover

Themenstarter Thema begonnen von Khalid

Khalid ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Static. Eindeutig Static... großes Grinsen
11.10.2018 18:20 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Zwischen diesen beiden Beiträgen liegen mehr als 6 Monate.
Palladin007 Palladin007 ist männlich
myCSharp.de-Mitglied

Dabei seit: 03.02.2012
Beiträge: 1.217
Entwicklungsumgebung: Visual Studio 2017
Herkunft: NRW


Palladin007 ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Ich belebe das Mal wieder neu mit diesem kleinen Snippet:

C#-Code:
private string _ConnectionString = @"data source=1.2.3.4\My;initial catalog=MyDB;Application Name=MyApp;user id=sa;password=;persist security info=False;packet size=4096;";

private async Task OnBerechnen()
{
    return await Task.Factory.StartNew(() =>
    {
        using (System.Data.SqlClient.SqlConnection conn = new System.Data.SqlClient.SqlConnection(_ConnectionString))
        {
            conn.Open();

            // ...
        }
    });
}

Das stand so im Code, am ConnectionString habe ich nur IP und Name geändert, UserId und Passwort standen genau so im Code.
Mich macht sowas sprachlos ...

Natürlich ist das nicht mehr der Fall und den Server gibt's auch nicht mehr, aber das lief jahrelang so.
07.05.2019 16:16 Beiträge des Benutzers | zu Buddylist hinzufügen
Stefan.Haegele Stefan.Haegele ist männlich
myCSharp.de-Mitglied

avatar-3068.jpg


Dabei seit: 13.03.2009
Beiträge: 370
Entwicklungsumgebung: Visual Studio 2010 Ultimat
Herkunft: Untermeitingen


Stefan.Haegele ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Zitat von Palladin007:
Natürlich ist das nicht mehr der Fall und den Server gibt's auch nicht mehr, aber das lief jahrelang so.

Böse gesagt - alles richtig gemacht wenn es jahrelang so lief, oder? :-) Wir machen uns eindeutig zu viele Gedanken über Sicherheit und Kennwortstärke...

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Stefan.Haegele am 09.05.2019 12:41.

09.05.2019 12:40 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Palladin007 Palladin007 ist männlich
myCSharp.de-Mitglied

Dabei seit: 03.02.2012
Beiträge: 1.217
Entwicklungsumgebung: Visual Studio 2017
Herkunft: NRW


Palladin007 ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Aber es ist doch so einfach, Mal eben einen simplen User anzulegen, der nur Lese-Rechte hat :/
Ich verstehe nicht, warum man das damals nicht getan hat, ich kann nur froh sein, dass es bisher keinen Angreifer gab, der auf die Idee kam, die Anwendung zu decompilen und nach ConnectionStrings zu suchen, immerhin läuft das Programm auf DAU-Rechnern.
09.05.2019 13:57 Beiträge des Benutzers | zu Buddylist hinzufügen
KroaX KroaX ist männlich
myCSharp.de-Mitglied

avatar-4080.jpg


Dabei seit: 31.08.2009
Beiträge: 284
Herkunft: Köln


KroaX ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Und ich hab die ersten 30 Sekunden darüber nachgedacht was daran so schlimm sein könnte eine Connection in nem eigenen Task aufzumachen :-D
09.05.2019 22:36 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Zwischen diesen beiden Beiträgen liegen mehr als 9 Monate.
LaTino LaTino ist männlich
myCSharp.de-Poweruser/ Experte

avatar-4122.png


Dabei seit: 03.04.2006
Beiträge: 2.983
Entwicklungsumgebung: Rider / VS2019 / VS Code
Herkunft: Thüringen


LaTino ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

C#-Code:
public static Nullable<T> GetEnum<T>(int? EnumInt) where T : struct {
    foreach (var item in Enum.GetValues(typeof(T))) {
        if ((int)item == EnumInt) {
            return (T?)item;
        }
    }
    return null;
}

Okay, soweit, so...ungewöhnlich, aber gut, wenn einer das lieber selber macht als die .NET-Methoden zu nehmen, des Menschen Wille ist sein Himmelreich.

Aber dann. Die Methode wird zweimal verwendet. Beide Male so:

C#-Code:
(MyEnumType) Utils.GetEnum<MyEnumType>((int) data.Property)

Die Punchline? data.Property ist vom Typ MyEnumType.
Wir nehmen das Enum, casten nach int, werfen das int in eine Methode, die einen Nullable von dem Enum baut, von dem wir kommen, und casten dieses Nullable dann hart in den Ursprungstyp.

*mikedrop*

LaTino
13.02.2020 10:46 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
T-Virus T-Virus ist männlich
myCSharp.de-Mitglied

Dabei seit: 17.04.2008
Beiträge: 1.396
Entwicklungsumgebung: Visual Studio, Codeblocks, Edi
Herkunft: Nordhausen, Nörten-Hardenberg


T-Virus ist offline Füge T-Virus Deiner Kontaktliste hinzu

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Sieht nach einem "2 Uhr Morgens" Code aus und macht auch genau soviel Sinn :)

T-Virus
13.02.2020 12:39 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
LaTino LaTino ist männlich
myCSharp.de-Poweruser/ Experte

avatar-4122.png


Dabei seit: 03.04.2006
Beiträge: 2.983
Entwicklungsumgebung: Rider / VS2019 / VS Code
Herkunft: Thüringen


LaTino ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Der Urheber ist nicht mehr bei meinem AG beschäftigt. Seinem Code nach zu urteilen, hat er aber sehr oft "nachts gearbeitet". Der ist jetzt übrigens (wieder) in der Lehre beschäftigt - lehrt OOP. Manche Geschichten kann man sich nicht ausdenken.

LaTino
14.02.2020 07:31 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Palladin007 Palladin007 ist männlich
myCSharp.de-Mitglied

Dabei seit: 03.02.2012
Beiträge: 1.217
Entwicklungsumgebung: Visual Studio 2017
Herkunft: NRW


Palladin007 ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Sieht für mich wie Code aus, den man über einen längeren Zeitraum von Int-Flags auf ein Enum umstelen musste und dabei die eine oder andere Zwischenlösung vergessen hat.
Hab ich so in der Art schon öffter gesehen :D
14.02.2020 10:12 Beiträge des Benutzers | zu Buddylist hinzufügen
Seiten (14): « erste ... « vorherige 10 11 12 13 [14] Baumstruktur | Brettstruktur       | Top 
myCSharp.de | Forum Der Startbeitrag ist älter als 11 Jahre.
Antwort erstellen


© Copyright 2003-2020 myCSharp.de-Team | Impressum | Datenschutz | Alle Rechte vorbehalten. | Dieses Portal verwendet zum korrekten Betrieb Cookies. 19.02.2020 15:04