Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
Coding Styles Horror
ProgrammierTroll
myCSharp.de - Member

Avatar #avatar-3285.jpg


Dabei seit:
Beiträge: 107

beantworten | zitieren | melden

        public static byte[] convertToUnsigned(int[] javaByte)
        {
            byte[] unsignedByte = new byte[javaByte.Length];

            for (int i = 0; i < javaByte.Length; i++)
            {
                unsignedByte[i] = (byte)(javaByte[i] & 255);
            }

            return unsignedByte;
        }
q.e.d.
private Nachricht | Beiträge des Benutzers
DarkProjekt
myCSharp.de - Member



Dabei seit:
Beiträge: 24

beantworten | zitieren | melden

Moin zusammen,

diese kleine Zeile kommt aus Excel.
=G6+(WENN(E7<0;E7*-1;E7*-1)+F7)
private Nachricht | Beiträge des Benutzers
assi
myCSharp.de - Member

Avatar #avatar-2349.jpg


Dabei seit:
Beiträge: 114
Herkunft: Uterus

beantworten | zitieren | melden

Gerade gefunden, ...ohne Worte
 
Try 
[...]
Catch ex As Exception
     'Geht halt nicht
End Try
And in addition to the darkness there was also me.
And I moved upon the face of the darkness and I saw that I was alone.
Let There Be Light!
private Nachricht | Beiträge des Benutzers
Easyrider
myCSharp.de - Member



Dabei seit:
Beiträge: 200
Herkunft: Bayern

beantworten | zitieren | melden

Gerade in einem Prototypen auf Arbeit gefunden:

foreach (var dokument in SelectedDokuments)
{
    selectedDoc = dokument;
    break;
}

Schädel -> Wand
private Nachricht | Beiträge des Benutzers
malignate
myCSharp.de - Member

Avatar #avatar-3206.png


Dabei seit:
Beiträge: 742

beantworten | zitieren | melden

Das ist ohne Kontext nicht soo verwunderlich. Wie würdest du es in einem .NET 2.0 Projekt (ohne Linq) lösen, wenn du z.B. von irgendeiner Methode ein IEnumerable zurückbekommst?

Moderationshinweis von herbivore (16.08.2011 - 17:59)

Betrachte die Frage bitte als rhetorisch. Bitte keine fachlichen Diskussionen in diesem Thread.

private Nachricht | Beiträge des Benutzers
gfoidl
myCSharp.de - Team

Avatar #avatar-2894.jpg


Dabei seit:
Beiträge: 6.779
Herkunft: Waidring

beantworten | zitieren | melden

Hallo zusammen,

ihr kennt sicher das Sprichtwort: "Warum einfach, wenns auch kompliziert geht."
Hier ein Beispiel dazu:


int i = nextParent.FindAll((x) =>
{
    if (dirList.Contains(x.FullName) | x.GetFiles().Length == 0)
    {
        return true;
    }
    else
    {
        return false;
    }
}
).Count;

Die kürzere Variante wäre:


int i = nextParent.Count(x => dirList.Contains(x.FullName) || x.GetFiles().Length == 0);

Siehe auch [Tipp] Anfängerfehler == true / == false

Ich hoffe, dass der Produzent der längeren Variante das nicht falsch versteht. Aber das ist wie ein aufgelegter Elfmeter :-)

mfG Gü

Stellt fachliche Fragen bitte im Forum, damit von den Antworten alle profitieren. Daher beantworte ich solche Fragen nicht per PM.

"Alle sagten, das geht nicht! Dann kam einer, der wusste das nicht - und hat's gemacht!"
private Nachricht | Beiträge des Benutzers
Spontifixus
myCSharp.de - Member

Avatar #avatar-3052.gif


Dabei seit:
Beiträge: 360
Herkunft: Hannover

beantworten | zitieren | melden

Eben in einem Unit-Test entdeckt (der ansonsten durchaus brauchbare Sachen testet):


[TestMethod]
public void SomeTestMethod(){

    var some = TestCode();

    // TODO:
    // Verify other interesting stuff...

}
private Nachricht | Beiträge des Benutzers
Florian Reischl
myCSharp.de - Experte

Avatar #avatar-2880.jpg


Dabei seit:
Beiträge: 1.564
Herkunft: München

beantworten | zitieren | melden

Das ganze befindet sich in einer Basis-Klasse...


public void Initialize(params object[] environmentParameters)
{
   // get the environment, is the first dictionary
   foreach (Dictionary<string, string> item in environmentParameters)
   {
       m_Environment = item;
   }
}
Blog: Things about Software Architecture, .NET development and SQL Server
Twitter
Google+

Je mehr ich weiß, desto mehr weiß ich was ich noch nicht weiß.
private Nachricht | Beiträge des Benutzers
chavez
myCSharp.de - Member



Dabei seit:
Beiträge: 252
Herkunft: Österreich

beantworten | zitieren | melden

Grad imho so ziemlich das perverseste Property/Setter Teil ever entdeckt.


public bool HideContent
{
    set
    {
        centerControl.Visible = false;
    }
}
private Nachricht | Beiträge des Benutzers
tkrasinger
myCSharp.de - Member



Dabei seit:
Beiträge: 574
Herkunft: Enzesfeld (Niederösterreich)

beantworten | zitieren | melden

bool error = true;

foreach (var item in currentBeratung.Beratungsinhalte)
{
    if (item.IsSelected)
    {
        error = false;
    }
}

if (error)
{
    errors = AddToErrors("Es muss zumindest ein Beratungsinhalt angegeben werden", errors);
}
else
{
    error = true;
}

foreach (var item in currentBeratung.Beratungsergebnisse)
{
    if (item.IsSelected)
    {
        error = false;
    }
}

if (error)
{
    errors = AddToErrors("Es muss zumindest ein Beratungsergebnis angegeben werden", errors);
}
private Nachricht | Beiträge des Benutzers
Inso
myCSharp.de - Member



Dabei seit:
Beiträge: 19

beantworten | zitieren | melden

Wow :)
Mehr fällt mir gerade nicht zu ein
Fehlerhafter und komplizierter gehts wohl beinahe nicht mehr :)
private Nachricht | Beiträge des Benutzers
m74
myCSharp.de - Member



Dabei seit:
Beiträge: 85
Herkunft: Dortmund

beantworten | zitieren | melden

Mein Beitrag ist kein direkter Coding-Style-Horror, eher ein Kommunikationsproblem über das ich nun schon den ganzen Tag schmunzeln muss Hoffe es ist dennoch ok wenn ich ihn hier poste.

Einer unserer Auftraggeber bekommt täglich per CSV-Datei eine Liste aller Bestellungen vom Vortag. Die gebuchten Optionen sind vom Auftraggeber vorgegebene alphanumerische Zeichenfolgen.

Bei einem Brandneuen Produkt sollten wir im Code ein großes i ausgeben.

Nun kam eine erboste Mail, wir würden da Schrott-Buchungen schicken, weils die Bezeichnung nicht gibt.

Das war tatsächlich unser Fehler, da wir statt einem großen i ein kleines L lieferten (sieht eben ziemlich ähnlich aus, um mal den Kollegen in Schutz zu nehmen *g*), aber prinzipiell war der Auftraggeber natürlich im Recht, keine Frage.

Aber damit nicht genug, die Erklärung vom Auftraggeber kam prompt: wir würden das Zeichen in der Schriftart "Wingdings" liefern.

Wingdings? In einer CSV-Textdatei?

Das sind so Tage an denen ich abends ein Bierchen aufmache, Prost
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von m74 am .
private Nachricht | Beiträge des Benutzers
Chaosmaster
myCSharp.de - Member



Dabei seit:
Beiträge: 31
Herkunft: Stuttgart

beantworten | zitieren | melden

Ohne Worte ...

			get
			{
				lock ( CriticalSection )
				{
					return 0;
				}
			}
private Nachricht | Beiträge des Benutzers
pdelvo
myCSharp.de - Member

Avatar #avatar-3354.png


Dabei seit:
Beiträge: 1.346

beantworten | zitieren | melden

AppDomainSetup.ShadowCopyFiles
Zitat
Typ: System.String
Der Zeichenfolgenwert "true" für aktiviertes Erstellen von Schattenkopien oder "false" für deaktiviertes Erstellen von Schattenkopien.

Also ich bin da ganz der selben Meinung. Immer dieser neumodische Kram. Wer braucht schon 'Booleans'.

Moderationshinweis von herbivore (10.01.2012 - 11:01)

Siehe auch die Antwort von Microsoft auf den entsprechenden Bug-Report AppDomainSetup.ShadowCopyFiles should be of the type bool instead of string.
Dank an JunkyXL für diesen Hinweis.

private Nachricht | Beiträge des Benutzers
Nuky
myCSharp.de - Member



Dabei seit:
Beiträge: 20
Herkunft: Erlangen

beantworten | zitieren | melden

Eben beim Refactoring eines Projektes gefunden:


lb_RatingCount.Text = WebResources.count + " " + string.Format( "({0})", result.RatingCount ) + " " + WebResources.ratings;
private Nachricht | Beiträge des Benutzers
dN!3L
myCSharp.de - Experte

Avatar #avatar-2985.png


Dabei seit:
Beiträge: 2.891

beantworten | zitieren | melden

Ratet mal, warum die Anwendung eines Kollegen seit heute (Tipp: Dezember) nicht mehr läuft:


calendarInfoErfassung.MaxDate = Convert.ToDateTime("01." + (activeMonth + 1).ToString() + "." + activeYear.ToString());
private Nachricht | Beiträge des Benutzers
tkrasinger
myCSharp.de - Member



Dabei seit:
Beiträge: 574
Herkunft: Enzesfeld (Niederösterreich)

beantworten | zitieren | melden

der Fehler wird glaube ich relativ häufig gemacht, evtl. sollte mal einer die Convert Methode umschreiben ;-)
private Nachricht | Beiträge des Benutzers
Palin
myCSharp.de - Member



Dabei seit:
Beiträge: 1.090

beantworten | zitieren | melden

Ohne Worte,

Throw ex
 blnRueckgabe = False
Sollte man mal gelesen haben:

Clean Code Developer
Entwurfsmuster
Anti-Pattern
private Nachricht | Beiträge des Benutzers
Scavanger
myCSharp.de - Member

Avatar #avatar-3209.jpg


Dabei seit:
Beiträge: 309

beantworten | zitieren | melden

Man!

Ich hab mal wieder was in PHP gemacht und dort werde ich gezwungen (nicht von Konventionen, sondern vom Design der Sprache her) manchmal so was zu schreiben.

if (strpos($str, 'foo') !== false) // ARRRGH!!!! !== false
{
//
}

Das Problem ist die schwache Typisierung, strpos() liefert entweder die Position des String oder den boolschen Wert false zurück, wenn der String aber am Anfang (Position 0) liegt, wird im normalen Vergleich ( == / != ) 0 zu false ausgewertet, also muss ich mit dem boolschen Vergleichsoperator ( === / !== ) auf "ungleich falsch" prüfen!

Darum mag ich keine Sprachen mit schwacher Typisierung! 8o

using System;class H{static string z(char[]c){string r="";for(int x=0;x<(677%666);x++)r+=c[
x];return r;}static void Main(){int[]c={798,218,229,592,232,274,813,585,229,842,275};char[]
b=new char[11];for(int p=0;p<((59%12));p++)b[p]=(char)(c[p]%121);Console.WriteLine(z(b));}}
private Nachricht | Beiträge des Benutzers
Blue_Dragon
myCSharp.de - Member



Dabei seit:
Beiträge: 198
Herkunft: Österreich

beantworten | zitieren | melden

Hi,

Habe das gerade in unserem Code gefunden:

            switch (p_EventTrigger)
            {
                case QObjectEvent.OnCreate:
                case QObjectEvent.OnPrepareCommit:
                case QObjectEvent.OnCommit:
                    {
                        if (property != null)
                            args = new QObjectEventArgs(p_EventTrigger, property);
                        else
                            args = new QObjectEventArgs(p_EventTrigger);

                        break;
                    }
                case QObjectEvent.OnOpen:
                case QObjectEvent.OnOk:
                case QObjectEvent.OnCancel:
                case QObjectEvent.OnPropertyChange:
                    {
                        args = new QGuiEventArgs(p_EventTrigger);
                        break;
                    }

            }

Ich bin gerade am überlegen ob ich das umschreiben sollte oder nicht... ;-)
private Nachricht | Beiträge des Benutzers
chavez
myCSharp.de - Member



Dabei seit:
Beiträge: 252
Herkunft: Österreich

beantworten | zitieren | melden

Hab heute in unserem Code vermehrt folgendes Konstrukt vorgefunden:


title = title.TrimStart(' ').TrimEnd(' ');
private Nachricht | Beiträge des Benutzers
Uwe81
myCSharp.de - Member



Dabei seit:
Beiträge: 282
Herkunft: Ludwigshafen

beantworten | zitieren | melden

Ich glaube, das geht kürzer (single threaded Anwendung mit .NET 3.5);


int _value;

public int Value {
    get 
    {
        lock(this)
        {
            try
            {
                return _value;
            }
            catch(Exception ex)
            {
                throw ex;
            }
        }
    }
}
private Nachricht | Beiträge des Benutzers
bschneider
myCSharp.de - Member



Dabei seit:
Beiträge: 1

beantworten | zitieren | melden

((this.CurrentPlayer == this.Player1) ? this.Player2 : this.Player1).PlayerBalltype = (p.PlayerBalltype == BallType.Full) ? BallType.Half : BallType.Full;
private Nachricht | Beiträge des Benutzers
zero_x
myCSharp.de - Member

Avatar #avatar-2567.gif


Dabei seit:
Beiträge: 1.044
Herkunft: Koblenz

beantworten | zitieren | melden

Hallo zusammen,

kürzlich war mir folgendes Konstrukt begegnet:

int val1 = 10;
int val2 = 20;

int i = val1 = val2 = 0;

Es ist zwar kein Coding-Style-Horror, aber doch auf den ersten Blick sehr verwirrend. Seid mal ehrlich - wer von euch kann mir auf Anhieb sagen was bei rauskommt?

zero_x
zero_x | myCSharp.de - gemeinsam mehr erreichen

Für längere Zeit inaktiv.

Moderationshinweis von winSharp93 (28.02.2012 - 21:07)

Bitte die Frage in diesem Thread als rhetorisch ansehen!

private Nachricht | Beiträge des Benutzers
Master15
myCSharp.de - Member



Dabei seit:
Beiträge: 78

beantworten | zitieren | melden

Studienkollege wollte bei Projekt auf Nummer sicher gehen. Bei bool weiß man ja nie

bool isAktiv = //....
if (isAktiv)
{
    //Mach was
}
else if (!isAktiv)
{
    //Mach was anderes
}
private Nachricht | Beiträge des Benutzers
chavez
myCSharp.de - Member



Dabei seit:
Beiträge: 252
Herkunft: Österreich

beantworten | zitieren | melden

Das nenn ich mal nen WTF-Konstrukt:


    void marker(string WORT, RichTextBox textBoxName, Color farbe)
    {
      int index = 0;
      found = false;
      do
      {
        try { index = textBoxName.Text.IndexOf(WORT, index); }
        catch { }
        if (index ≥ 0)
        {
          textBoxName.SelectionStart = index;
          textBoxName.SelectionLength = WORT.Length;
          textBoxName.SelectionColor = farbe;
          index += WORT.Length;
        }
        else break;

      }
      while (found = true);
    }
private Nachricht | Beiträge des Benutzers
Console32
myCSharp.de - Member



Dabei seit:
Beiträge: 258

beantworten | zitieren | melden


        private string GetErrorText(string cStr2, string cStr3)
        {
            int iWert;
            string cStr1;
            string cStr4;
            string cStr5;
            string cStr6;
            string cStr7;
            string cStr8;

Ein traum von lesbarkeit sogar die Parameter haben einen Sprechenden Namen ^^

und das file mit ca 50 000 Zeilen find ich auch stark
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Console32 am .
Attachments
private Nachricht | Beiträge des Benutzers
C#ler
myCSharp.de - Member



Dabei seit:
Beiträge: 48

beantworten | zitieren | melden

Hallo,

Ist zwar JavaScript, aber trotzdem eine interessante Abfrage (im Original sogar ohne jedes Leerzeichen):

if (b = (b = b == null || b === "" ? c : typeof b == "string" ? f(b) : typeof b == "number" ? isNaN(b) ? c : e(b) : new Date(b.getTime())) && b.toString() == "Invalid Date" ? c : b) {
                                                                                     b.setHours(0);
                                                                                     b.setMinutes(0);
                                                                                     b.setSeconds(0);
                                                                                     b.setMilliseconds(0)
                                                                                 }

(aus dem jquery-ui script)

Mit Zeilenumbrüchen ist das Script in der Minimalversion ganze 7879 Zeilen lang.
In theory, there is no difference between theory and practice. But, in practice, there is.

The nice thing about the Java API is that if you don't like it, just wait two minutes — it will change. Doug Lyon
private Nachricht | Beiträge des Benutzers
Abt
myCSharp.de - Team

Avatar #avatar-4119.png


Dabei seit:
Beiträge: 15.500

beantworten | zitieren | melden

Könntest Du mir sagen, welches File das genau sein soll von jQuery UI? Die 'b' sprechen für ein minimied-File aber ich find das nirgens. Und dass hier mehrere Files zu einem geformt werden und daraus fast 8000 Zeilen werden ist absolut normal, gewollt und Performance-fördernd. Also kein Horror-Style.
private Nachricht | Beiträge des Benutzers
C#ler
myCSharp.de - Member



Dabei seit:
Beiträge: 48

beantworten | zitieren | melden

Das ist ein Script namens jquery-ui-1.8.16.custom.min.js, ich habe es allerdings nicht selbst zusammengestellt, sondern in der Form auf einer Website eingebunden gefunden.
Ich meinte mit Horror auch eher nicht die 8000 Zeilen, sondern die Form und Lesbarkeit der Bedingung in der if-Abfrage.
In theory, there is no difference between theory and practice. But, in practice, there is.

The nice thing about the Java API is that if you don't like it, just wait two minutes — it will change. Doug Lyon
private Nachricht | Beiträge des Benutzers