1. C++ / Говнокод #14267

    +11

    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
    /// Represents the model of a Writer document.
    class SW_DLLPUBLIC SwDoc :
        public IInterface,
        public IDocumentSettingAccess,
        public IDocumentDeviceAccess,
        public IDocumentRedlineAccess,
        public IDocumentLinksAdministration,
        public IDocumentFieldsAccess,
        public IDocumentContentOperations,
        public IDocumentStylePoolAccess,
        public IDocumentLineNumberAccess,
        public IDocumentStatistics,
        public IDocumentState,
        public IDocumentDrawModelAccess,
        public IDocumentLayoutAccess,
        public IDocumentTimerAccess,
        public IDocumentChartDataProviderAccess,
        public IDocumentListItems,
        public IDocumentOutlineNodes,
        public IDocumentListsAccess,
        public IDocumentExternalData
    {
    ...

    Вот это монстрище!

    http://opengrok.libreoffice.org/xref/core/sw/inc/doc.hxx

    Sauron, 23 Декабря 2013

    Комментарии (215)
  2. Си / Говнокод #14266

    +136

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    int file_exist (char *filename)
    {
        char s[200];
        sprintf(s, "test -e %s", filename);
        if (system(s) == 0){
            return 1;
        }else{
            return 0;
        }
    }

    http://stackoverflow.com/questions/3828192/checking-if-a-directory-exists-in-unix-system-call

    rat4, 23 Декабря 2013

    Комментарии (295)
  3. ActionScript / Говнокод #14265

    −118

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    public static function cancel (tween : T) : void {
        delete _dict[tween];
    }
    
    public function cancel () : void {
        delete _dict[this];
    }

    Пыщ пыщ, я развлекаюсь

    kyzi007, 23 Декабря 2013

    Комментарии (111)
  4. PHP / Говнокод #14264

    +155

    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
    //users.php
    
    public function search_()
        {
    // --- Поиск по пользователям
          $sql_search = mysql_query($this->sql);
          $folder = $this->folder;
          if (mysql_num_rows($sql_search)>0)
          {
            $row_search = mysql_fetch_assoc($sql_search);
            do
            {
              $user_id = $row_search["id"];
              $sql = mysql_query("SELECT SOCIAL_fotos.picture_mini FROM SOCIAL_fotos WHERE fotoalbum_id = '0' and user_id = '$user_id' LIMIT 1");
              if (mysql_num_rows($sql)>0)
              {
                $row_sql = mysql_fetch_assoc($sql);
                $picture_mini = $row_sql["picture_mini"];
              }
              else
                $picture_mini = "picture/empty_mini.jpg";
              printf("<p><a href=\"%s\" target=\"_blank\"><img src=\"$folder/%s\">%s</a><br>%s", $row_search["alias"], $picture_mini, $row_search["lfm"], $row_search["city"]);
            }
            while($row_search = mysql_fetch_assoc($sql_search));
          }
        }
    //funct_prover.php
    
    
    function prover($con)
      {
        $element = array("'");
        $con = str_replace($element, ";appost;", $con);
        return htmlspecialchars(trim($con));
      }
    
    
    //conf_connect.php
    
    $server_con = 'localhost'; // Адрес сервера mysql
      $username_con = ''; // Имя пользователя
      $password_con = ''; // Пароль
      $dbname_con = 'socialdb';
    
      $url = $_SERVER["HTTP_HOST"];
      $site1 = 'panzins.ru';
      $site2 = 'www.panzins.ru';
      if ($url != $site1 and $url != 'localhost' and $url != $site2)
      exit();
      $url_path = $_SERVER["REQUEST_URI"];
      if ($url == $site2)
      {
        header("Location: http://panzins.ru$url_path");
        exit();
      }
    
      mysql_connect($server_con, $username_con, $password_con) or die("No connection");
      mysql_query('SET NAMES utf8') or die("Set names error");
      mysql_select_db($dbname_con) or die("No database");
      header('Content-Type:text/html; charset=utf-8');
      $table_log = "SOCIAL_log";
      $table_alias = "SOCIAL_alias";
      $table_user = "SOCIAL_user";
    
    // И еще много няшек

    MVC, PDO, Framework, для лохов ибо там избыточный код. Написать свою соц сеть за 30 дней легко. Знакомьтесь, Сергей Панзин, скромный адепт Жопова. http://rutracker.org/forum/viewtopic.php?t=4619804

    Сам шидевр. http://panzins.ru/

    Keeper, 23 Декабря 2013

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

    +135

    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
    70. 70
    71. 71
    72. 72
    73. 73
    74. 74
    75. 75
    76. 76
    77. 77
    78. 78
    79. 79
    80. 80
    81. 81
    82. 82
    83. 83
    84. 84
    85. 85
    86. 86
    87. 87
    88. 88
    Структура для хранения данных:
    typedef struct rs_script_t {
        int status; // on/off
        int next_stage;
        int next_time;
    } rs_script_t;
    
    Макросы:
    
    #define SEQ(scr1,t)    \
        const int scr_zero = __COUNTER__;   \
        rs_script_t *scr = scr1; \
        if ( (scr->status) && (t > scr->next_time) ) {  \
            switch(scr->next_stage) {    \
        
    #define END_SEQ } };             
    
    
    #define SEQ_FIRST \
            case 0: \
                    scr->next_stage = scr_zero;
                    
    
    #define SEQ_DT(dt) \
                    scr->next_stage = __COUNTER__ + 1;   \
                    scr->next_time += dt;  \
                    break;  \
                case __COUNTER__:   \
                
    #define SEQ_DT_TAGGED(dt,tag) \
                    scr->next_stage = __COUNTER__ + 1; \
                    scr->next_time += dt;    \
                    break; \
                case __COUNTER__:    \
                case (100000+tag):   \
    
    #define SEQ_LAST_DEFAULT    \
                    scr->status = 0; \
                    break;  \
                    \
                default:    \
                    DEBUG10f(":: ERROR, unknown stage position: %d \n", scr->next_stage);    \
                    break;
    
    #define SEQ_GOTO(dt,tag) \
                    scr->next_stage = 100000+tag; \
                    scr->next_time += dt; \
                    break;
                    
    #define SEQ_GOTO_INSTANT(tag) \
                    scr->next_stage = 100000+tag; \
                    break;
    
    Пользоваться примерно так:
    void process() { // вызывать каждый кадр
    
        SEQ(&scrtest, rs_app.app_time)
                
            SEQ_FIRST
                printf("Ноль\n");
                
            SEQ_DT(1000)
                printf("Один\n");
                
            SEQ_DT(1000)
                printf("Два\n");
                
            SEQ_DT_TAGGED(1000, 555)
                printf("Три (метка №555) \n");
                
            SEQ_DT(1000)
                printf("Четыре\n");
                
            SEQ_DT(1000)
                printf("Пять\n");
                
            SEQ_DT(1000)
                printf("Шесть, повторяем с метки №555, если нажат Шифт\n");
                if (rs_keyboard_is_key_down(RS_KEY_SHIFT_L)) {
                    SEQ_GOTO(1000, 555);
                };
                printf("Завершаем. \n");
                
            SEQ_LAST_DEFAULT     
            
        END_SEQ;
    
    };

    Страдания по yield

    TarasB, 23 Декабря 2013

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

    +6

    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
    70. 70
    71. 71
    72. 72
    73. 73
    74. 74
    75. 75
    76. 76
    77. 77
    78. 78
    79. 79
    80. 80
    81. 81
    82. 82
    83. 83
    84. 84
    85. 85
    86. 86
    87. 87
    88. 88
    89. 89
    90. 90
    91. 91
    92. 92
    #include <iostream>
    #include <conio.h>
    #include <clocale>
    using namespace std;
    int files; int disc_D(); int disc_E(); int disc_C();
    int resursefunction()
    {char s;
      cout << "Выберите диск" << endl;
      cout <<"1-D:\\" << endl;
      cout <<"2-C:\\" << endl;
      cout <<"3-E:\\" << endl;
      cout <<"0 - рабочий стол" << endl;
      cin >> s;
      if(s == '1') return disc_D();
      if(s == '2') return disc_C();
      if(s == '3') return disc_E();
      if(s == '0') return main();
      _getch();}
    int main()
    { char vibor;
      setlocale( LC_ALL, "Russian" );
      cout << "\t\t\t\tРабочий стол" << endl;
      cout << "\n\n";
      cout << "1-Управление ресурсами" << endl;
      cout << "2-Программы" << endl;
      cout << "3-Игры" << endl;
      cout << "4-Выход из системы" << endl;
      cin >> vibor;
      if(vibor == '1') resursefunction();
      _getch();
      return main();}
    int disc_D()
    { int res, a;
      char vv;
      cout << "D:\\" << endl;
      cout << "На диске" << endl;
      cout << "5 - папок" << endl;
      cout << files << " - файлов" << endl;
      cout << "1 - создать файл" << endl;
      cout << "2 - удалить файл" << endl;
      cout << "0 - назад" << endl;
      cin >> vv;
      if(vv == '1')
      {cout << "Введите сколько создать файлов"; cin >> a; res = files + a;
       res = files + a;}
      if(vv == '2')
      {cout << "Введите сколько удалить файлов"; cin >> a; res = files - a;
       res = files - a;}
      if(vv == '0') return resursefunction();
      files = res;
      return disc_D();}
    int disc_E()
    {
      int res, a;
      char vv;
      cout << "E:\\" << endl;
      cout << "На диске" << endl;
      cout << "7 - папок" << endl;
      cout << files << " - файлов" << endl;
      cout << "1 - создать файл" << endl;
      cout << "2 - удалить файл" << endl;
      cout << "0 - назад" << endl;
      cin >> vv;
      if(vv = '1')
      {cout << "Введите сколько создать файлов"; cin >> a; res = files + a;
       res = files + a;}
      if(vv == '2')
      {cout << "Введите сколько удалить файлов"; cin >> a; res = files - a;
       res = files - a;}
      if(vv == '0') return resursefunction();
      files = res;
      return disc_E();}
    int disc_C()
    {int res, a;
      char vv;
      cout << "C:\\" << endl;
      cout << "На диске" << endl;
      cout << "5 - папок" << endl;
      cout << files << " - файлов" << endl;
      cout << "1 - создать файл" << endl;
      cout << "2 - удалить файл" << endl;
      cout << "0 - назад" << endl;
      cin >> vv;
      if(vv = '1')
      {cout << "Введите сколько создать файлов"; cin >> a; res = files + a;
       res = files + a;}
      if(vv == '2')
      { cout << "Введите сколько удалить файлов"; cin >> a; res = files - a;
       res = files - a; }
      if(vv == '0') return resursefunction();
      files = res;
      return disc_C();}

    Еще нашел на форумах. К сожалению форматирование пришлось убить, иначе оно не помещалось целиком

    pelmenka, 23 Декабря 2013

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

    +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
    if (axis[0] == vector[0] && axis[1] == vector[1] && axis[2] == vector[2])
       {
          this->anglex = 0.0f;
       }
       else if (vector[1] >= 0.0f)
       {
          this->anglex = 360.0f*(GLfloat)acos(VectorMathf::dotProductf(axis, vector))/(2.0f*PIf);
       }
       else
       {
          this->anglex = -360.0f*(GLfloat)acos(VectorMathf::dotProductf(axis, vector))/(2.0f*PIf);
       }

    Часть либы ES3D (http://sourceforge.net/projects/es3d/).
    Кто не понял в чем прикол - все переменные имеют тип float.

    Pythoner, 23 Декабря 2013

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

    +126

    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
    public Random abstract_logic = new Random();
    ...
            private int ComplexFunctionToDetermineTheNumberOfResults(ObservableCollection<Result> rs)
            {
                int a = 0;
                for (int i = 0; i < rs.Count; i++)
                {
                    a += rs[i].Value;
                }
                double d = a / Math.PI;
                d = Math.Cos(d) * Math.Sin(a) * (Math.Cos(Math.PI) + 1);
                return abstract_logic.Next((int)d + 3) + 3;
            }

    Лаба 2.
    Наформашлепствовал 40+ файлов (Сплошной говнокод), в итоге должна получится система тестирования. В конце данной функцией определяю количество выводимых результатов.

    maksim_ovcharik, 22 Декабря 2013

    Комментарии (14)
  9. PHP / Говнокод #14259

    +155

    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
    $s='';
    		$kfg=new Konfig('');
    		$kfg('self');
    		{
    			$kfg->k1='v1';
    			$s.=$kfg->k1."\n";
    		}
    		{
    			$kfg->k2->k='v2';
    			$s.=$kfg->k2->k."\n";
    		}
    		{
    			$kfg->{'k3.k'}='v3';
    			$s.=$kfg->k3->k."\n";
    		}
    		{
    			$kfg->k4='v4';
    			$kfg->k4->k='v4';
    			$s.=$kfg->k4."\n";
    			$s.=$kfg->k4->k."\n";
    		}
    		{
    			$s.=$kfg->strstr('ab','b');
    		}
    		$this->response->body('<pre>'.$s."\n".Debug::dump((string)$kfg)."\n".Debug::dump($kfg).'</pre>');

    TDD in Action, Вот так я проверяю работоспособность волшебной во всех местах конфиги.
    из личного сайта http://lure0xaos.url.ph/

    Lure Of Chaos, 22 Декабря 2013

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

    +70

    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
    package gargoyle.heartsong.pages.test;
    
    import gargoyle.heartsong.annotations.model.InjectDAO;
    import gargoyle.heartsong.model.UserEntity;
    import gargoyle.heartsong.services.model.i.DAO;
    
    import java.util.List;
    
    public class TestDAO2 {
    	@InjectDAO(key = Integer.class, value = UserEntity.class)
    	private DAO<Integer, UserEntity> users;
    
    	public List<UserEntity> getUsers() {
    		return this.users.all();
    	}
    }

    дай Люру в руки Tapestry, так он станет программировать на аннотациях.
    это вам уже не программирование "на стрелочках", болезнь прогрессирует.

    да, аннотация @CommitAfter оборачивает тело метода в транзакцию с коммитом и роллбэком при исключении;
    есть аннотация @Notify, которая показывает уведомление, если была ошибка, и меняет возвращаемое значение;
    по аннотациям @AdminPage строится меню админки;
    и наконец, @RolesRequired ограничивает доступ к странице.

    в итоге в классах одни собачки торчат вместо фунциональности. вот, убедитесь сами:
    https://github.com/lure0xaos/HeartSong.git

    Lure Of Chaos, 22 Декабря 2013

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