1. Список говнокодов пользователя FrontlineReporter

    Всего: 9

  2. Куча / Говнокод #25794

    0

    1. 1
    2. 2
    3. 3
    4. 4
    ButtonCustom {
        visible: !cyrcleProgress.visible ? true : false
        ...
    }

    FrontlineReporter, 02 Сентября 2019

    Комментарии (8)
  3. C# / Говнокод #22449

    −13

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    private void ScanDir()
    {
    	CurrentLevel++;
    	string save_dir=CurrentDir;
    	int i=0;
    	if (current_dirs.Length>0)
    		for (;i<current_dirs.Length;i++)
    		{
    			out_data+=current_tabs+"<DIR> "+CutPathName(current_dirs[i])+"\r\n";
    			try { CurrentDir=current_dirs[i]; }
    			catch
    			{
    				out_data+=current_tabs+"<ошибка доступа>\r\n\r\n";
    				CurrentDir=save_dir;
    				continue;
    			}
    			waiting=true; // синхронизатор этого потока
    			Thread.Sleep(120); // задержка, что бы второй поток успел скинуть данные
    			while (saving) // ожидание флага из потока записи
    				Thread.Sleep(100);
    			waiting=false;
    			ScanDir();
    			CurrentDir=save_dir;
    		}
    	else
    		out_data+=current_tabs+"<папки отсутствуют>\r\n";
    	save_dir=null;
    	string[] inner_files;
    	try { inner_files=Directory.GetFiles(save_dir); }
    	catch { out_data+=current_tabs+"<ошибка доступа>\r\n\r\n"; return; }
    	if (inner_files.Length>0)
    		for (i=0;i<inner_files.Length;i++)
    		{
    			out_data+=current_tabs+CutPathName(inner_files[i])+"\r\n";
    			inner_files[i]=null;
    		}
    	else
    		out_data+=current_tabs+"<файлы отсутствуют>\r\n";
    	inner_files=null;
    	CurrentLevel--;
    }

    Загрузка списка файлов и директорий на диске.
    Оптимизировано для уменьшения потребления памяти и нагрузки CPU.

    От одного только описания оптимизации хочется убежать и спрятаться под одеяло:

    "Для оптимизации я добавил в глобалку следующую инфу:
    1) массив текущих папок;
    2) текущий уровень вложения;
    3) текущую папку для глобалки;
    4) строка табуляции;
    5) свойства для п. 2 и 3.

    2 для того, что бы в его свойстве (5) менять табулятор (4) по необходимости;
    3 добавлено исключительно для свойства (5), в котором подгуржаются текущие папки (1)."

    FrontlineReporter, 27 Февраля 2017

    Комментарии (162)
  4. C# / Говнокод #22447

    −15

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    for (....)
    {
        lCurrent=new Label();
        lCurrent.Name="task_header_"+cPriority.ToString();
        lCurrent.Location=new Point(pCurrent.X,pCurrent.Y);
        lCurrent.TabIndex=cPriority-1; // по табу потом определяется индекс таска в интерфейсной реализации
        lCurrent.Click+=new EventHandler(label_Click);
        lCurrent.Font=this.Font;
        lCurrent.BackColor=this.BackColor;
        lCurrent.Text=Path.GetFileNameWithoutExtension(tasks[i])+": "; // таск подгружается из файла; тут сложнА всё; этот текст отображается нормально
        lCurrent.Visible=lCurrent.Enabled=true;
        lCurrent.Parent=this; // что есть что нет - не важно
        try { tСurrent=new TaskDataStruct(tasks[i],lСurrent,workSet,expander); } // тоже долго объяснять; тут самое важное - lCurrent
        catch { lCurrent.Dispose(); lCurrent=null; continue; } // если при создании таска что то пошло не так - то и всё остальное мне не нужно
        this.Controls.Add(lСurrent); // мне кажется, что проблема где то здесь
        allTasks.Add(tCurrent); // это List моих тасков
        pCurrent.Y+=30;
        cPriority++;
    }

    неплохой набор бреда, костылей и велосипедов

    FrontlineReporter, 27 Февраля 2017

    Комментарии (1)
  5. C++ / Говнокод #20365

    +2

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    // p2.cpp : Defines the entry point for the console application.
    //   Язык Visual C++ 7.0
    //   Консольное приложение
    //   13.07.2016
    
    #include "stdafx.h"
    #include <conio.h>
    
    int aa (int, int, int);
    void ab (int);
    
    
    int _tmain(int argc, _TCHAR* argv[])
    {
    	int a, b, c, d, e;
    	int f;
    
    	for (a = 0; a < 4; a++)
    		for (b = 0; b < 4; b++)
    			for (c = 0; c < 4; c++)
    				for (d = 0; d < 4; d++)
    					for (e = 0; e < 4; e++)
    					{
    						f = aa (1, a, 2);
    						f = aa (f, b, 3);
    						f = aa (f, c, 4);
    						f = aa (f, d, 5);
    						f = aa (f, e, 6);
    
    						if (f == 35)
    						{
    							printf ("((((1 "); ab (a);
    							printf ("2) "); ab (b);
    							printf ("3) "); ab (c);
    							printf ("4) "); ab (d);
    							printf ("5) "); ab (e);
    							printf ("6 = 35.\n");
    						}
    					}
    
    	getch ();
    	return 0;
    }
    
    
    int aa (int a, int b, int c)
    {
    	switch (b)
    	{
    		case 0: return a + c;
    		case 1: return a - c;
    		case 2: return a * c;
    		case 3: return a / c;
    	}
    
    	return 0;
    }
    
    void ab (int a)
    {
    	switch (a)
    	{
    		case 0: printf ("+ "); break;
    		case 1: printf ("- "); break;
    		case 2: printf ("* "); break;
    		case 3: printf ("/ "); break;
    	}
    }

    Задача: В написанном выражении ((((1 ? 2) ? 3) ? 4) ? 5) ? 6 вместо каждого знака ? вставить знак одного из четырёх арифметических действий: +, -, *, / так, чтобы результат вычислений равнялся 35.

    FrontlineReporter, 13 Июля 2016

    Комментарии (67)
  6. JavaScript / Говнокод #20011

    +4

    1. 1
    2. 2
    while (st.indexOf(" ") != -1)
            st = st.replace(" ", " ");

    FrontlineReporter, 15 Мая 2016

    Комментарии (41)
  7. Pascal / Говнокод #20010

    −35

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    procedure TForm1.Timer1Timer(Sender: TObject);
    begin
    if GetAsyncKeyState(81) <> 0 then
    begin
    timer1.Enabled:=false;
    memo1.Text:=memo1.Text+'й ';
    end;
    
    begin
    if GetAsyncKeyState(87) <> 0 then
    begin
    timer1.Enabled:=false;
    memo1.Text:=memo1.Text+'ц ';
    end;
    
    ...
    
    begin
    if GetAsyncKeyState(13) <> 0 then
    begin
    timer1.Enabled:=false;
    memo1.Text:=memo1.Text+' ';
    if memo1.Text <> ' ' then
    button1.Click;
    end;
    
    if GetAsyncKeyState(32) <> 0 then
    begin
    timer1.Enabled:=false;
    memo1.Text:=memo1.Text+' ';
    end;
    
    begin
    if GetAsyncKeyState(1) <> 0 then
    begin
    timer1.Enabled:=false;
    memo1.Text:=memo1.Text+' ';
    if memo1.Text <> ' ' then
    button1.Click;
    end;
    end;
    end;
    end;
    end;
    end;
    end;
    end;
    end;
    end;
    end;
    end;
    end;
    end;
    end;
    end;
    end;
    end;
    ...
    end;

    Видимо чувак копипастил вместе с begin от процедуры, а потом "исправил" ошибки об отсутствии end.

    FrontlineReporter, 15 Мая 2016

    Комментарии (26)
  8. Pascal / Говнокод #20008

    −41

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    TForm1 = class(TForm)
        Button2: TButton;
        Timer1: TTimer;
        Button5: TButton;
        Button6: TButton;
        Timer2: TTimer;
        Button7: TButton;
        Button8: TButton;
        Button9: TButton;
        Button10: TButton;
        Panel1: TPanel;
        Edit1: TEdit;
        Button1: TButton;
        Button4: TButton;
        Button11: TButton;
        Button12: TButton;
        Panel2: TPanel;
        Memo1: TMemo;
        Button13: TButton;
        Button14: TButton;
        Timer3: TTimer;
        Button15: TButton;
        Button16: TButton;
        Button3: TButton;
        Button17: TButton;
    
    procedure TForm1.Button13Click(Sender: TObject);
    begin
      Memo1.Lines.Clear;  //Очищаем компонент Memo1.
      Button14.Caption:='.......';
    end;
    
    procedure TForm1.Timer2Timer(Sender: TObject);   //перемещение переключателя в произвольном направлении для определения нужного полюса
    var Button_Tag: Integer;
    begin
        Button_Tag:= Button7.Tag+Button8.Tag+Button9.Tag+Button10.Tag;              //Button7.Tag+Button2.Tag
      case Button_Tag of
        1:  begin
              var_integer[C_the_timer_counter]:= var_integer[C_the_timer_counter]+1;    //счетчик  Timer2
              var_integer[C_the_X_coordinate]:=var_integer[C_the_timer_counter]; //координата X
              coordinates[2].X:=coordinates[2].X+var_integer[C_the_X_coordinate];//
              blank_backgroun;           //очистить до пустого фона  !!!!!!!!!
             Draw_a_picture30(coordinates[2],bmps[2]); //не более [bmp_cnt-1] Draw_a_picture30(coordinates[1],bmps[2]); выводит   img3 BITMAP 3.bmp
            end;             
        2:  begin
              var_integer[C_the_timer_counter]:= var_integer[C_the_timer_counter]+1;    //счетчик  Timer2
              var_integer[C_the_X_coordinate]:=-var_integer[C_the_timer_counter]; //координата X
              coordinates[2].X:=coordinates[2].X+var_integer[C_the_X_coordinate];//
              blank_backgroun;            //очистить до пустого фона  !!!!!!!!!
              Draw_a_picture30(coordinates[2],bmps[2]); //не более [bmp_cnt-1] Draw_a_picture30(coordinates[1],bmps[2]); выводит   img3 BITMAP 3.bmp
            end;
        3:  begin
           ...
        4:  begin
           ...
      else   Noop;
      end;
          Edit1.Text:=IntToStr(coordinates[2].X)+'*   '+IntToStr(coordinates[2].Y);
    end;

    Классика Дельфи.

    FrontlineReporter, 14 Мая 2016

    Комментарии (37)
  9. Pascal / Говнокод #20007

    −42

    1. 1
    2. 2
    3. 3
    4. 4
    for i:=0 to control_array_size-1 do //говорят, что так я очистил память
      begin
         control_array[i].view.Free;
      end;

    This man knows what he's doing.

    FrontlineReporter, 14 Мая 2016

    Комментарии (0)
  10. Pascal / Говнокод #20006

    −41

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    var
      Form1: TForm1;
      customer : array of TCustomer; //выбор пути выполнения
      var_integer: array of integer;// все локальные переменные с такими свойствами:
      M_parameter_output: array of string;  //названия параметров по которому произойдет выход из Timer1Timer (0 не используется, 1 ниже-выше, 2 слева-справа, 3 поворот)
     Work_on_the_points_WhereFurther : array of Integer; //исходные числа (Work on the points)
    
    procedure TForm1.Timer1Timer(Sender: TObject); //Interval 20
    var
      numerator_ArcTan2: Extended;                  //the numerator and denominator (числитель и знаменатель   ArcTan2)
      E: Tpoint;                                    //нужна для E:=ScreenToClient(Form1.FDesignSize); 
      local_variable:Integer;  // локальная переменная

    Отличные имена переменных, а после комментариев вообще все становится понятно.

    FrontlineReporter, 14 Мая 2016

    Комментарии (0)