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

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

    +142

    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
    // storage -> user -> project -> task -> attachments
    var userPath = path.join(basePath, userId);
    var projectPath = path.join(userPath, projectId);
    var taskPath = path.join(userPath, taskId);
    
    // happy mkdir... happy mkdir!
    try {
        try {
            fs.statSync(taskPath); // task folder exists
        }
        catch (err) {
            try {
                fs.statSync(projectPath); // project folder exists
            }
            catch (err) {
                try {
                    fs.statSync(userPath); // user folder exists
                }
                catch (err) {
                    fs.mkdirSync(userPath);
                }
                fs.mkdirSync(projectPath);
            }
            fs.mkdirSync(taskPath);
        }
    }
    catch (err) {
        return next(err);
    }

    Есть сервер на nodejs и программка типа менеджера задач. Надо было реализовать аттачменты к задачам. Есть папка storage, а в ней заводим папочки по иерархии, как в первом комментарии... и, видимо я что-то не понимаю в работе с файловой системой из под ноды :(

    Alendorff, 22 Мая 2015

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

    +144

    1. 1
    sleh = UpCase(92); // просто слеш

    Просто слеш.

    bormand, 22 Мая 2015

    Комментарии (15)
  4. JavaScript / Говнокод #18121

    +127

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    var user = 'trol';
    function pow() {
      alert( 'Hello trol!' );
    }
    if(user == 'trol'){
    while(true){ //Chrome 
    pow();
    }
    }

    Так и живём

    ponchic, 06 Мая 2015

    Комментарии (15)
  5. JavaScript / Говнокод #17966

    +144

    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
    function initAnnounce(srcUrl)
    {
        
            announceIdAr   [1-1] = 1;
            announceFNameAr[1-1] = "image1_1.gif";
            announceUrlAr  [1-1] = "2-2&am=1&qn=35";
            announceTextAr [1-1] = "Бывает ли Президенту скучно?";
        
            announceIdAr   [2-1] = 2;
            announceFNameAr[2-1] = "image1_2.gif";
            announceUrlAr  [2-1] = "2-2&am=1&qn=16";
            announceTextAr [2-1] = "В чем Президент не виноват?";
    
    // еще говно
        
            announceIdAr   [13-1] = 13;
            announceFNameAr[13-1] = "image1_13.gif";
            announceUrlAr  [13-1] = "5-6";
            announceTextAr [13-1] = "День Победы";
        
        
        var announcesNumber = announceIdAr.length;
        //alert(announcesNumber);
        
        var index = Math.round(Math.random() * (announcesNumber - 1));
        //alert(index);
        
    // еще дохуя алертов
        
       //выясняем, активна ли CD-версия
          var url2 = stringReplace(srcUrl, ".htm", "");
          if (url2 != srcUrl)
          {
             //активна CD-версия
             announceUrl = stringReplace(announceUrl, "&", "_");
             announceUrl = stringReplace(announceUrl, "=", "_");
          };
       // /выясняем, активна ли CD-версия
        var url = stringReplace(srcUrl, "!!!", announceUrl);

    kids.kremlin.ru

    там вообще все жорошо

    Fike, 09 Апреля 2015

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

    +46

    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
    69. 69
    #include <Windows.h>
    #include <stdio.h> 
    #include <stdlib.h>
    #include <math.h>
    #include <iostream>
    #include <fstream>
    #include <iostream>
    #include <string>
    using namespace std;
    
    
    
    
    double f(double x, double y)
    {
    	return y*y-2*x;
    }
    
    double f2(double x)
    {
    	return  sqrt(2*x+1);
    }
    
    int main(void) {
    	std::ofstream out;
    	out.open("out.txt");
    
    	double xn = 0, yn = 1, a = 0, b = 1, h = 0.2, x, y, n;
    	int i;
    	n = (b - a) / h;
    	y = yn;
    	x = a;
    
    	printf("x[0]=%.4f  ", x);
    	printf("y[0]=%.4f\n\n", y);
    	double k1, k2, k3, k4, dy, y1;
    	
    	cout << " i   " << "x[i]     " << "y[i]     " << "y[x[i]]  " << "E" << endl;
    
    	for (i = 1; i <= n; ++i)
    
    	{
    		x = xn + i*h;
    		k1 = h*f(x, y);
    		k2 = h*f((x + (h / 2)), (y + (1 / 2 * k1)));
    		k3 = h*f((x + (h / 2)), (y + (1 / 2 * k2)));
    		k4 = h*f((x + h), (y + k3));
    		dy = (k1 + 2 * k2 + 2 * k3 + k4) / 6;
    		y = y + dy;
    		y1 = f2(x);
    
    
    		printf("%2d.  ", i);
    		printf("%.5f  ", x);
    		printf("%.5f  ", y);
    		printf("%.5f  ", y1);
    		printf("%.9f\n", abs(y-y1));	
    		
    		
    	
    	}
    
    	out << y1 << '\n'; 
    	out.close();
    	
    	
    	
    	return 0;
    }

    В out выводится только последнее значение y1.
    Сам цикл проходит (в данном случае) 5 раз
    Соответственно, 5 значений y1
    Как сделать, чтобы он показывал все пять значений?

    misha3977, 06 Апреля 2015

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

    +47

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    int sync1; sync1 = 50;
    int sync[sync1];
    for (i=0; i<50; i++) {
        sync[i] = 0;
    }

    Croessmah, 26 Марта 2015

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

    −407

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    #define RETURN_CREATED_SGINGLETON_MUTABLE_ARRAY \
      static NSMutableArray* _singletonArray = nil; \
      static dispatch_once_t onceToken; \
      dispatch_once(&onceToken, ^{ \
        _singletonArray = [[NSMutableArray alloc] init]; \
      }); \
      return _singletonArray;

    Используется массив для хранения заданий. Эдакий самописный NSOperationQueue.

    ProFFeSSoR, 23 Марта 2015

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

    +774

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    Form f = new Form1();
    f.FormBorderStyle = FormBorderStyle.FixedToolWindow;
    f.WindowState = FormWindowState.Minimized;
    f.ShowInTaskbar = false;
    f.StartPosition = FormStartPosition.Manual;
    f.Location = new System.Drawing.Point(-2000, -2000);
    f.Size = new System.Drawing.Size(1, 1);
    f.Hide();
    f.Visible = false;
    f.Opacity = 0;
    Application.Run(f);

    LispGovno, 21 Марта 2015

    Комментарии (15)
  10. Java / Говнокод #17814

    +79

    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
    builder.append(" SELECT ");
            for(int i=7;i>0;i--){            	
            	int month = cal.get(Calendar.MONTH) + 1;
                    int year = cal.get(Calendar.YEAR);
            	cal.add(Calendar.MONTH, -1);
            	builder.append(" IFNULL(SUM(IF((MONTH(FEED.feed_date)= "+ month +" && YEAR(FEED.feed_date)="+year+"),"+measurementByColumn+",0)),0) AS M"+i+ " , ");
            }
    builder.append(" IFNULL(MAX(IF((YEAR(FEED.feed_date)="+currentyear+" and FEED.feed_date=FEEDYEARDATA.curYearMaxFeedDate),"+measurementByColumn+",null)),0) AS CUR_YEAR_DATA, ");
    builder.append(" IFNULL(MAX(IF((YEAR(FEED.feed_date)="+lastyear+" and FEED.feed_date=FEEDYEARDATA.lastYearMaxFeedDate ),"+measurementByColumn+",null)),0) AS LAST_YEAR_DATA , ");
    builder.append(" FEED.pa_code,FEED.sub_pa_code ");
    builder.append(" FROM lm_dealer_info_data_feed FEED ");
    builder.append(" inner join ( SELECT pa_code,sub_pa_code, ");
    builder.append(" MAX(IF(YEAR(feed_date)="+currentyear+",feed_date,NULL)) as curYearMaxFeedDate, ");
    builder.append(" MAX(IF(YEAR(feed_date)="+lastyear+",feed_date,NULL)) as lastYearMaxFeedDate " );
    builder.append(" FROM lm_dealer_info_data_feed  " );
    builder.append(" GROUP BY pa_code,sub_pa_code  ) as FEEDYEARDATA " );
    builder.append(" ON FEED.pa_code =FEEDYEARDATA.pa_code and FEED.sub_pa_code = FEEDYEARDATA.sub_pa_code " );
    builder.append(" GROUP BY FEED.pa_code,FEED.sub_pa_code ");
    return builder.toString();

    Формируем чоткий запрос :)

    vetal, 18 Марта 2015

    Комментарии (15)
  11. PHP / Говнокод #17796

    +156

    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
    <?php
    // Код курильщика
       for ($i=1;$i<8;$i+=2){
       if($i==$row->ShipingTime) $result .="<option selected value='".$i."'>".$i."</option>";
       else $result .="<option value='".$i."'>".$i."</option>";
    
        if($i==7) {$i+=3;
         if($i==$row->ShipingTime) $result .="<option selected value='".$i."'>".$i."</option>";
         else $result .="<option value='".$i."'>".$i."</option>";
        }
        else {
         if($i==10) {
          $i+=4;
          if($i==$row->ShipingTime) $result .="<option selected value='".$i."'>".$i."</option>";
          else $result .="<option value='".$i."'>".$i."</option>";
         }
         else {
          for ($i=20;$i<45;$i+=10){
           if($i==$row->ShipingTime) $result .="<option selected value='".$i."'>".$i."</option>";
           else $result .="<option value='".$i."'>".$i."</option>";
           if($i==40){$i+=20;
            if($i==$row->ShipingTime) $result .="<option selected value='".$i."'>".$i."</option>";
            else $result .="<option value='".$i."'>".$i."</option>";
            $i+=30;
            if($i==$row->ShipingTime) $result .="<option selected value='".$i."'>".$i."</option>";
            else $result .="<option value='".$i."'>".$i."</option>";
           }
         }
        }
       }
    
    
    // Код здорового человека (провели рефакторинг)
    $ST_variants = array('1', '3', '5', '7', '10', '14', '20', '30' , '40', '60', '90');
    foreach ($ST_variants as $value) {
      print "<option ". ($value==$row->ShipingTime) ? 'selected' : '' ; ." value='".$value."'>".$value."</option>";
    }

    Заказчик хотел получить <select> со списком значений: '1', '3', '5', '7', '10', '14', '20', '30' , '40', '60', '90'...

    govnokoder2, 16 Марта 2015

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