Sahnestück

Die Programmiersprache C# und Programmierung im .NET Framework/Mono
Antworten
Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8858
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Sahnestück

Beitrag von Xin » Mi Apr 22, 2015 9:14 am

Schrieb mir gerade ein Freund von mir... wenn also ein Hobbyprogrammierer sich fragt, wie man professionell Probleme löst, siehe hier:
ich habe ein Code-Sahnestück gefunden

Code: Alles auswählen

        page.ContentRange.Tables
        public static void EnumerateSteps()
        {
            int lastStepNr = 0;
            foreach (ContentPage page in ScreenPlayTemplate.ContentPages)
            {
                int tableCount = 1;
                foreach (Word.Table table in page.ContentRange.Tables)
                {

                    if (tableCount == 3)
                    {
                        foreach (Word.Row row in table.Rows)
                        {
                            foreach (Word.Cell cell in row.Cells)
                            {
                                if (cell.ColumnIndex == 1 && cell.RowIndex > 1)
                                {
                                    lastStepNr++;
                                    cell.Range.Text = String.Format("{0}.", lastStepNr);
                                }
                            }
                        }
                    }
                    tableCount++;
                }
            }
        }
Jemand 'ne Idee, was hier passiert? :-)


(PS: Erinnert mich an ein Fundstück, dass ich selbst gefunden habe - nicht in meinem Code(!): Noch ein Sahnestück)
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

mfro
Beiträge: 346
Registriert: Mi Jan 16, 2013 4:58 pm

Re: Sahnestück

Beitrag von mfro » Mi Apr 22, 2015 10:29 am

Xin hat geschrieben: ...

Code: Alles auswählen

                            foreach (Word.Cell cell in row.Cells)
                            {
                                if (cell.ColumnIndex == 1 && cell.RowIndex > 1)
                                {

Jemand 'ne Idee, was hier passiert? :-)
Höchstwahrscheinlich was reichlich Ineffizientes. Warteschleife?
Warum iteriert man über alle Zeilen und Spalten (ist doch ein GridView, oder?), wenn man sowieso nur die Spalte 1 anfassen will?
It's as simple as that. And remember, Beethoven wrote his first symphony in C.

Benutzeravatar
fat-lobyte
Beiträge: 1398
Registriert: Sa Jul 05, 2008 12:23 pm
Wohnort: ::1
Kontaktdaten:

Re: Sahnestück

Beitrag von fat-lobyte » Do Apr 23, 2015 12:01 pm

Sieht aus wie der dümmste Code der Welt um die erste Spalte einer Tabelle fortlaufend durchzunummerieren (also Zeilenbeschriftungen zu erzeugen).

Wer hat das verbrochen?
Haters gonna hate, potatoes gonna potate.

mfro
Beiträge: 346
Registriert: Mi Jan 16, 2013 4:58 pm

Re: Sahnestück

Beitrag von mfro » Do Apr 23, 2015 2:40 pm

fat-lobyte hat geschrieben:Wer hat das verbrochen?
Ich würde - ohne das geringste Vorurteil - spontan auf einen Inder tippen...
It's as simple as that. And remember, Beethoven wrote his first symphony in C.

Antworten