1. Лучший говнокод

    В номинации:
    За время:
  2. PHP / Говнокод #4535

    +164

    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
    $img_type = ".jpg";
    $s = getimagesize($image);
    if ($s[2] == "1") {
    $img_type = ".gif";
    } elseif ($as2] == "3") {
    $img_type = ".png";
    }
    if ($img_type == ".jpg") {
    $img = imagecreatefromjpeg($image);
    } elseif($img_type == ".gif") {
    $img = imagecreatefromgif($image);
    } elseif ($img_type == ".png") {
    $img = imagecreatefrompng($image);
    }
    $im = add_watermark($img, $image, $watermark);
    if ($img_type == ".jpg") {
    imagejpeg($im, $image, 85);
    } elseif { ($img_type == ".gif")
    imagegif($im , $image);
    } elseif { ($img_type == ".png")
    imagepng($im , $image);
    }

    Накладываем водяной знак на изображение

    Мартин, 04 Ноября 2010

    Комментарии (16)
  3. Pascal / Говнокод #4414

    +112

    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
    procedure TfmConf_PA30.btnWritePAClick(Sender: TObject);
    begin
       if WriteByVariable(11,lbLog6) then begin
        if WriteByVariable(12,lbLog6) then begin
         if WriteByVariable(13,lbLog6) then begin
          if WriteByVariable(14,lbLog6) then begin
           if WriteByVariable(15,lbLog6) then begin
            if WriteByVariable(16,lbLog6) then begin
             if WriteByVariable(17,lbLog6) then begin
              if WriteByVariable(18,lbLog6) then begin
               if WriteByVariable(19,lbLog6) then begin
                if WriteByVariable(20,lbLog6) then begin
                 if WriteByVariable(21,lbLog6) then begin
                  if WriteByVariable(22,lbLog6) then begin
                   if WriteByVariable(23,lbLog6) then begin
                    if WriteByVariable(24,lbLog6) then begin
                     if WriteByVariable(25,lbLog6) then begin
                      if WriteByVariable(26,lbLog6) then begin
                       if WriteByVariable(27,lbLog6) then begin
                        if WriteByVariable(28,lbLog6) then begin
                         if WriteByVariable(29,lbLog6) then begin
                          if WriteByVariable(30,lbLog6) then begin
                           lbLog6.Items.Add('Ошибка: Нет ожидаемого ответа от оборудования (30)');
                         end else
                          lbLog6.Items.Add('Ошибка: Нет ожидаемого ответа от оборудования (29)');
                        end else
                         lbLog6.Items.Add('Ошибка: Нет ожидаемого ответа от оборудования (28)');
                       end else
                        lbLog6.Items.Add('Ошибка: Нет ожидаемого ответа от оборудования (27)');
                      end else
                       lbLog6.Items.Add('Ошибка: Нет ожидаемого ответа от оборудования (26)');
                     end else
                      lbLog6.Items.Add('Ошибка: Нет ожидаемого ответа от оборудования (25)');
                    end else
                     lbLog6.Items.Add('Ошибка: Нет ожидаемого ответа от оборудования (24)');
                   end else
                    lbLog6.Items.Add('Ошибка: Нет ожидаемого ответа от оборудования (23)');
                  end else
                   lbLog6.Items.Add('Ошибка: Нет ожидаемого ответа от оборудования (22)');
                 end else
                  lbLog6.Items.Add('Ошибка: Нет ожидаемого ответа от оборудования (21)');
                end else
                 lbLog6.Items.Add('Ошибка: Нет ожидаемого ответа от оборудования (20)');
               end else
                lbLog6.Items.Add('Ошибка: Нет ожидаемого ответа от оборудования (19)');
              end else
               lbLog6.Items.Add('Ошибка: Нет ожидаемого ответа от оборудования (18)');
             end else
              lbLog6.Items.Add('Ошибка: Нет ожидаемого ответа от оборудования (17)');
            end else
             lbLog6.Items.Add('Ошибка: Нет ожидаемого ответа от оборудования (16)');
           end else
            lbLog6.Items.Add('Ошибка: Нет ожидаемого ответа от оборудования (15)');
          end else
           lbLog6.Items.Add('Ошибка: Нет ожидаемого ответа от оборудования (14)');
         end else
          lbLog6.Items.Add('Ошибка: Нет ожидаемого ответа от оборудования (13)');
        end else
         lbLog6.Items.Add('Ошибка: Нет ожидаемого ответа от оборудования (12)');
       end else
        lbLog6.Items.Add('Ошибка: Нет ожидаемого ответа от оборудования (11)');
    end;

    может циклом надо было? :)
    for i:=11 to 40 do...

    pethead, 22 Октября 2010

    Комментарии (16)
  4. VisualBasic / Говнокод #4372

    −99

    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
    10 DEFM 13:VAC
    20 PRINT " Генератор."
    30 FOR N=0 TO 6:Z$(N)="00000":NEXT N
    40 CSR 0,:FOR N=6 TO 0 STEP -1:FOR M=1 TO 5
    50 IF GETC(Z$(N),M)="1";DRAW M-1,N
    60 NEXT M:NEXT N
    70 DRAW X,Y:K$=KEY
    80 DRAWC X,Y:IF K$="" THEN 70
    90 IF GETC(Z$(Y),X+1)="1";DRAW X,Y
    100 IF K$="8";IF Y<6;Y=Y+1:GOTO 70
    110 IF K$="2";IF Y>0;Y=Y-1:GOTO 70
    120 IF K$="4";IF X>0;X=X-1:GOTO 70
    130 IF K$="6";IF X<4;X=X+1:GOTO 70
    140 IF K$=" " THEN 200
    150 IF K$="I" THEN 270
    160 IF K$="C" THEN 30
    170 IF K$="D" THEN 300
    175 IF K$="U" THEN 350
    180 IF K$="P" THEN 400
    185 IF K$=CHR 123 THEN 450
    190 GOTO 70
    200 A$="1"
    210 IF GETC(Z$(Y),X+1)="1";A$="0"
    220 $=Z$(Y)
    230 B$=MID(1,X)
    240 C$=MID(X+2,4-X)
    250 Z$(Y)=B$+A$+C$
    260 GOTO 70
    270 FOR N=0 TO 6:B$="":FOR M=1 TO 5
    280 IF GETC(Z$(N),M)="0";B$=B$+"1":GOTO 290
    285 B$=B$+"0"
    290 NEXT M:Z$(N)=B$:NEXT N:GOTO 40
    300 B$=Z$
    310 FOR N=0 TO 5
    320 Z$(N)=Z$(N+1)
    330 NEXT N
    340 Z$(6)=B$
    345 GOTO 40
    350 B$=Z$(6)
    360 FOR N=6 TO 1 STEP -1
    370 Z$(N)=Z$(N-1)
    380 NEXT N:Z$=B$
    390 GOTO 40
    400 FOR N=0 TO 6
    410 Z$(N+7)=Z$(N)
    420 NEXT N
    430 FOR N=0 TO 6
    440 Z$(N)=Z$(13-N)
    445 NEXT N:GOTO 40
    450 B$="":FOR N=6 TO 0 STEP -1:S=0:L=1
    460 FOR M=5 TO 1 STEP -1
    470 S=S+VAL GETC(Z$(N),M)*L
    475 L=L*2
    480 NEXT M
    490 IF S<10; B$=B$+CHR(48+S):GOTO 510
    500 B$=B$+CHR(55+S)
    510 NEXT N
    520 CSR 2:PRINT "C=";B$;
    530 GOTO 70

    Не VisualBasic, но тоже Бейсик. Программа для микрокомпьютера Электроника МК-85М. Писал ее (и еще много других) лет 10 назад.
    Подробнее о назначении программы в комментарии.

    Arigato, 16 Октября 2010

    Комментарии (16)
  5. Си / Говнокод #4318

    +113

    1. 1
    char anarch[sizeof(long double) * sizeof(long)];

    Задали одному студенту (5 курса, между прочим) написать программу для решения анаграмм...
    Перед вами фрагмент кода, где объявляется буфер для хранения слова.
    На вопрос "Зачем ты так написал?" ответ был: "Хотел избавиться от дефайнов и магических чисел".
    На вопрос о размере буфера ответ был: "Так ведь не бывает слов длиннее 40 букв".

    TarTar, 09 Октября 2010

    Комментарии (16)
  6. C++ / Говнокод #4308

    +157

    1. 1
    2. 2
    3. 3
    4. 4
    if ( условие )                                                                                                                                                                                                                                                                                                                                             ;                 
    {
     //что-либо сделать
    };

    //"счастливой отладки" v.2.0
    отгреб в собственном-же коде)))))

    Denjs, 08 Октября 2010

    Комментарии (16)
  7. C++ / Говнокод #4287

    +161

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    void __fastcall ReverseStream(TMemoryStream* Stream)
    {
        TMemoryStream* buf = new TMemoryStream;
        buf->LoadFromStream(Stream);
        __int64 size = Stream->Size;
        Stream->Clear();
        for (__int64 i=size-1; i >= 0; i--) {
            buf->Position = i;
            Stream->CopyFrom(buf, 1);
        }
    }

    Мне cpu+mem жалко, когда такие простые задачи творят через такие навороты...

    fddpro, 20 Сентября 2010

    Комментарии (16)
  8. Java / Говнокод #4230

    +78

    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
    public class ServiceRunner implements Runnable {
        
        Thread thread = null;
        ServiceUI service;
        public ServiceRunner(ServiceUI service) {       
            this.service = service;
        }
        
        public void start() {
            this.thread = new Thread(this);
            this.thread.start();
        }
    
        public void run() {        
            while (true) {            
                this.service.receiveMessages();            
                try {
    	 	this.thread.sleep(CommonConst.INTERVAL_SERVICE * 1000);
    	    } catch (java.lang.InterruptedException e) {
                    Log.log(Log.ERROR,this,e);
    	}
            this.service.sendMessages();        
            try {
    	       this.thread.sleep(CommonConst.INTERVAL_SERVICE *1000);
    	} catch (java.lang.InterruptedException e) {
                   Log.log(Log.ERROR,this,e);
    	}
        }
        
    }

    очень удивляют предыдущие разрабочтики продукта своими понятиями о потоках в Java

    qnikst, 12 Сентября 2010

    Комментарии (16)
  9. C# / Говнокод #4229

    +118

    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
    SqlCommand command = new SqlCommand ();
    command.Connection = connection;
    command.CommandText = "select data from filestorage where id=@id;";            
    command.Parameters.AddWithValue ("@id", fileId);
    command.CommandType = CommandType.Text;
    
    byte [] data = (byte []) command.ExecuteScalar ();
    
    System.IO.Stream outStream = Response.OutputStream;
    
    Response.ContentType = "Application/octet-stream";
    Response.AppendHeader ("Connection", "keep-alive");
    
    Response.AppendHeader ("Content-Disposition", " attachment; filename = \"" + fName+"\"" );
    
    outStream.Write (data, 0, data.Length);
    Response.End ();

    продолжение http://govnokod.ru/4227

    akai_mirror, 12 Сентября 2010

    Комментарии (16)
  10. PHP / Говнокод #4212

    +150

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    /* That revolting regular expression explained 
    /^(\w+)\[(\w+)([=~\|\^\$\*]?)=?"?([^\]"]*)"?\]$/
      \---/  \---/\-------------/    \-------/
        |      |         |               |
        |      |         |           The value
        |      |    ~,|,^,$,* or =
        |   Attribute 
       Tag
    */

    Это НЕ говонокод, просто коммент к регулярке, просто очень понравился и хотел показать...
    Иногда регулярки очен запутанами бывает, и редактировать их турдно без нормальной комментов.
    Нашел в shop-script

    termes, 10 Сентября 2010

    Комментарии (16)
  11. C++ / Говнокод #4138

    +151

    1. 1
    typedef std::basic_string<unsigned short> wstring;

    вот, надыбал в одном из подпроектов большого проекта.

    DarthBobr, 31 Августа 2010

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