1. C# / Говнокод #13859

    +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
    14. 14
    private string _itemName;
    public string ItemName
    {
    	get { return _itemName; }
    	set
    	{
    		if (_itemName != value)
    		{
    			_itemName = value;
    			RaisePropertyChanged("ItemName");
    			CustomValue = GetCustomValue(ItemName);
    		}
    	}
    }

    Незнаю насколько этот код можно считать говнокодом, но его неочевидность сразу бросилась в глаза

    Smekalisty, 27 Сентября 2013

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

    +1

    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
    void gte::loadProps(const char* fileName){
        
    	propMap.clear();
    	s3eFile* g_FileHandle = s3eFileOpen(fileName, "rb");
    	while (!s3eFileEOF(g_FileHandle)) {
    		char c1=0;
    		char c2=0;
    		s3eFileRead(&c1, 1, 1, g_FileHandle);
    		s3eFileRead(&c2, 1, 1, g_FileHandle);
    		int len = 0;
    		len = (c2 & 0xFF) | ( (c1  & 0xff) << 8);
    		if (len==0) continue;
    		char* textData = new char[len+1];
    		textData[len] = 0;
    		s3eFileRead(textData, sizeof(char), len, g_FileHandle);
    		char* pos = strchr(textData, ':');
    		string key(textData, pos - textData);
    		string value(pos + 2, textData + len - pos - 2);//(textData,
    		propMap[key] = value;
    	}
    
    	s3eFileClose(g_FileHandle);
    }

    Чтение строки, первые 2 байта - длинна.
    Проект использует Marmalade SDK.

    krypt, 27 Сентября 2013

    Комментарии (47)
  3. JavaScript / Говнокод #13856

    +153

    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
    function compare_date(start_day, start_hour, start_min, end_day, end_hour, end_min)
    {
      var start_ = start_day.split('-');
      var end_ = end_day.split('-');
    
      if (start_[2] > end_[2]) return false;
      else {
        if (start_[2] == end_[2]) {
          if (start_[1] > end_[1]) return false;
          else {
            if (start_[1] == end_[1]) {
              if (start_[0] > end_[0]) return false;
              else {
                if (start_[0] == end_[0]) {
                  if (parseFloat(start_hour) > parseFloat(end_hour)) return false;
                  else {
                    if (parseFloat(start_hour) == parseFloat(end_hour)) {
                      if (parseFloat(start_min) > parseFloat(end_min)) return false;
                      else {
                        if (parseFloat(start_min) == parseFloat(end_min)) return false;
                        else return true;
                      }
                    }
                    else return true;
                  }
                }
                else return true;
              }
            }
            else return true;
          }
        }
        else return true;
      }
    }

    Откопал функцию-велосипед для сравнения двух дат. Возвращает true, если вторая дата позже первой.

    MikleSmart, 27 Сентября 2013

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

    +153

    1. 1
    2. 2
    // В противном случаи я получаю что-то типа 012.303245.23
    summ += parseFloat(parseFloat(value).toFixed(2));

    Флоутим помаленьку...

    nonamez, 27 Сентября 2013

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

    +157

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    window.SYSTEM_LOCALE ='ru';
    if ((/ru/i).test(window.SYSTEM_LOCALE)) {
        window.SYSTEM_LOCALE = "ru";
    } else if ((/en/i).test(window.SYSTEM_LOCALE)) {
        window.SYSTEM_LOCALE = "en";
    } else if ((/uk|ua/i).test(window.SYSTEM_LOCALE)) {
        window.SYSTEM_LOCALE = "uk";
    };

    wtf?

    SSSandman, 26 Сентября 2013

    Комментарии (13)
  6. PHP / Говнокод #13853

    +162

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    $count = count($array);
    
    // Говорю коллеге: "У тебя там деление на ноль, исправь". 
    // После этого появилось следующее...
    if ( $count == 0 ) $count = 1;
    
    $result = (int) ((1/$count) * SOME_VALUE1 + SOME_VALUE2);

    Код, блять, Хемминга

    bot, 26 Сентября 2013

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

    +81

    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
    #include <iostream>
    #include <cstdlib>
    using namespace std;
    
    int bin_search(int *A, int key, int low, int high){
      if (low > high){
          return 0;
      }
      int mid = ( low + high ) / 2;
      if (A[mid] == key)
        return mid+1;
      else if( A[mid] < key)
        bin_search(A, key, mid + 1, high);
      else if (A[mid] > key)
        bin_search(A, key, low, mid - 1);
    }
    
    int main()
    {
        int n, k;
        cin >> k >> n;
        int A[n-1];
        for (int i = 0; i < n; i++)
        {
            cin >> A[i];
        }
            cout << bin_search(A, k, 0, n);
    }

    Нужно реализовать бинпоиск рекурсией, на вход значение искомого элемента,
    число элементов и сам массив,
    вывести номер минимального элемента равного искомому.
    У меня откровенно говоря баг, не могу его откопать, помогите!!!

    aesc_smirnov, 26 Сентября 2013

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

    +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
    #if defined(_WIN32) || defined(_WIN64)
         size_t size = message.size();
         size_t size_buf = 1015;
    
         size_t pointer = 0;
         for (int i = 0; i < (size/size_buf) + 1 ; i++){
             
             /*Делаем для красивого вывода. Пробел всегда один байт.
              *Потому сматываем указатель буфера до первого пробела.*/
             int buf = size_buf;
             while (message[pointer+buf] != ' ')
                 buf--;
             
             /*Здесь лечится косяк MinGw, буфер принимает по 1к байтов.
              *Лечение производим создавая дополнительные буферы.*/
             istringstream ss(message.substr(pointer,buf) );
             std::cout << ss.rdbuf();
             
             pointer += buf;
         }
    #else
         std::cout << message;
    #endif

    Похоже плохая сборка MinGw.
    http://govnokod.ru/13094

    crastinus, 26 Сентября 2013

    Комментарии (71)
  9. Куча / Говнокод #13850

    +125

    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
    Синтаксический сахар в #MAXScript такой сахар!
    
    Надоели конструкции такого вида?
    if (SomeShit == undefined) then (...)
    
    Запили в парочку функций - и всё ок!
    fn Have Obj = (Obj != undefined)
    fn No Obj = (not (Have Obj))
    
    ...
    ......
    Профит!
    if (Have Beer) then (...)
    if (No Glass) then (...)
    
    Миллисекунда оверхеда на вызов функции - в подарок!

    Уроки ленивого программирования для самых ленивых или берегущих клавиатуру xD

    3Doomer, 24 Сентября 2013

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

    +150

    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
    private function checkCookie(){
                      if(!isset($_COOKIE['sessid'])) {
                              $this->userInfo['id'] = 0;
                              $this->userInfo['isAdmin'] = false;
                              return false;
                      }
    
                      $id_lenght = strlen($_COOKIE['sessid']) - 32;
                      $cookie_id = substr($_COOKIE['sessid'],0,$id_lenght);
                      $cookie_hash = substr($_COOKIE['sessid'],$id_lenght);
                      $this->registry['db']->heal($cookie_id); // антиинжект
                      $dbres = $this->registry['db']->query("SELECT password FROM users WHERE user_id = '$cookie_id';")->fetch();
                      if(md5($dbres['password']) == $cookie_hash){
                             $this->userInfo['id'] = $cookie_id;
                             return true;
                      }
                      return false;
          }

    в чем-то гениально

    djumpen, 24 Сентября 2013

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