1. Си / Говнокод #11842

    +141

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    #include "statements.h"
    #include "lexer.h"
    #include "conditions.h"
    #include "variables.h"
    #include "generator.h"
    #include "labels.h"
    #include "types.h"
    #include "errors.h"
    #include "io.h"

    В одном из cpp-файлов такой вот нехилый список инклудов.

    Fai, 27 Сентября 2012

    Комментарии (6)
  2. ActionScript / Говнокод #11841

    −95

    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
    private var _disabled:int = 0;
            public function set enabled(v:Boolean):void {
                if (!v) {
                    this._disabled ++;
                } else {
                    this._disabled --;
                }
                this.run();
            }
    
            public function get enabled():Boolean {
                return !this._disabled;
            }

    Интересно что будет если _disabled внезапно примет значение -1.

    kyzi007, 27 Сентября 2012

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

    +50

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    if($_REQUEST['filter2'] == 'my' OR $_REQUEST['filter2'] == 'all' OR $_REQUEST['filter2'] == 'delegated'){
        $filter2 = htmlspecialchars( $_REQUEST['filter2'], ENT_QUOTES );
    }else{
        $filter2 = 'all';
    }

    Может тогда уж $filter2 = htmlspecialchars( 'all', ENT_QUOTES ); для полного счастья?

    somnambulism, 27 Сентября 2012

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

    +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
    void GetDPI ()
    {
    	jclass c; jmethodID m; jobject o, dm; jfieldID fxdpi, fydpi;
    
    	c = env->FindClass		("android/util/DisplayMetrics");
    	m = env->GetMethodID		(c, "<init>", "()V");
    	dm = env->NewObject		(c, m);
    
    	fxdpi = env->GetFieldID		(c, "xdpi", "F");
    	fydpi = env->GetFieldID		(c, "ydpi", "F");
    
    	c = env->FindClass		("android/app/NativeActivity");
    	m = env->GetMethodID		(c, "getWindowManager", "()Landroid/view/WindowManager;");
    	o = env->CallObjectMethod	(appState->activity->clazz, m);
    
    	c = env->GetObjectClass		(o);
    	m = env->GetMethodID		(c, "getDefaultDisplay", "()Landroid/view/Display;");
    	o = env->CallObjectMethod	(o, m);
    
    	c = env->GetObjectClass		(o);
    	m = env->GetMethodID		(c, "getMetrics", "(Landroid/util/DisplayMetrics;)V");
    	o = env->CallObjectMethod	(o, m, dm);
    
    	xdpi = env->GetFloatField	(dm, fxdpi);
    	ydpi = env->GetFloatField	(dm, fydpi);
    	LOGI("dpi is (%f, %f)", xdpi, ydpi);
    }

    Пишем под ведроид, дёргаем жабьи методы
    На жабе:
    DisplayMetrics d = new DisplayMetrics;
    getWindowManager.getDefaultDisplay.getMe trics(d);
    xdpi=d.xdpi;
    ydpi=d.ydpi;

    TarasB, 27 Сентября 2012

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

    −121

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    Функция ПолучитьКонтрольКонтрагентовВключен() Экспорт
    	мПривилегированныйРежим=ПривилегированныйРежим();
    	Если НЕ мПривилегированныйРежим Тогда
    		УстановитьПривилегированныйРежим(Истина);
    		мКонтрольКонтрагентовВключен=КОнстанты.КонтрольКонтрагентовВключен.Получить()=Истина;
    		УстановитьПривилегированныйРежим(мПривилегированныйРежим);
    	Иначе
    		мКонтрольКонтрагентовВключен=КОнстанты.КонтрольКонтрагентовВключен.Получить()=Истина;
    	КонецЕсли;	
    	
    	Возврат мКонтрольКонтрагентовВключен;
    КонецФункции

    Получение константы в в привилегированном режиме поражает. Антипаттерн Спагетти (можно обойтись двумя строками). Автор Хан Юрий Валентинович.

    ilya2184, 27 Сентября 2012

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

    +39

    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
    <?php
    $pg = $_GET['page']; // получаем номер страницы из URL
    $range = 10; // количество записей для одной страницы
    $start = ($pg<1)?0:($pg-1)*$range; // получаем номер записи, с которой начнем выборку
    
    $l = mysql_connect("localhost", "root", ""); // соединяемся с сервером БД
    $link = mysql_select_db("yiiblog", $l); // выбираем нужную БД
    $allpages = mysql_query("select id from tbl_post"); // выбираем все записи из таблицы 
    $num_pages = mysql_num_rows($allpages); // выбрав, узнаем сколько их штук всего
    $cnt = $num_pages;  
    
    $res = mysql_query("select * from tbl_post ORDER by id desc limit $start, $range"); 
    // выбираем данные исходя из значения номера страницы
    
    // формируем вывод, разделяя горизонтальной линией
    for($i=0; $i<mysql_num_rows($res); $i++)
    {
        $row = mysql_fetch_array($res);
        echo $row['id']."
    ".$row['title']."<hr>";
    }
    
    // ниже считаем сколько у нас получилось страниц, учитывая что в каждой странице по $range записей
    $pages = 0;
    do
    {
        $pages++;
        $cnt = $cnt - $range;
    }
    while($cnt>0);
    
    // Сам пагинатор, выводим номера страниц.
    for($i=1; $i<=$pages; $i++)
    {
        $url = $PHP_SELF."?page=".$i;
        $link = ($pg != $i)?"<a href=".$url.">".$i."</a> ":"<b>".$i." </b>";
        echo $link;
    }
    
    echo "<hr>Всего записей: ".$num_pages.", страниц: ".$pages;
    ?>

    Взят с сайта: http://techsmash.ru/php/2012/09/10/primer-paginatora-na-php.html

    good_web_master, 27 Сентября 2012

    Комментарии (0)
  7. Куча / Говнокод #11835

    +139

    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
    // Эволюция программы
    
    foo = true;
    
    function foo(){ 
    	return true;
    }
    function foo( param ){
    	return int;
    }
    function foo( param1, param2, param3, param4, param5 ){
    	return result;
    }
    function foo( object ){
    	return {result1, result2};
    }
    class foo {
    	function bar( object1 ){
    		return result1;
    	}
    	function biz( object2 ){
    		return result2;
    	}
    }
    class factory {
    	foo = new foo();
    	bar = new bar();
    }
    
    
    server1 = new factory1();
    server2 = new factory2();
    
    // прошло миллион лет...
    ...а потом программа встала и пошла.

    просто так

    bot-minurast, 27 Сентября 2012

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

    +141

    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
    public string Search(string title)
     {
     List<string> str1 = new List<string>();
     string count = cmainlibrary.Count.ToString();
     int counter = Convert.ToInt32(count);
     int i = 0;
    
     for ( i = 0; i < counter; i++)
     {
     string title_library = cmainlibrary[i].Title.ToString();
     if (title.ToUpper().Contains(title_library. ToUpper()))
     {
     str1.Add(cmainlibrary[i].Title);
    
     }
     }
     return str1[i];
     }

    Хотя я это выкладывал в коментариях к говнокоду #11830, решил повеселить народ отдельным постом.
    Это реализация библиотеки книг. Метод должен искать список книг которые соответствуют title.

    sater, 25 Сентября 2012

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

    −203

    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
    // Тут начинается сильнейший программинг - формирование GET запроса на основе уже существующего, курите.
    
      private function getFilterURLParams($filter = 0, $option_id, $value_id, $variable = '') {
        // При изменении этих параметров, нужно будет поменять соответсвенно их в других файлах. Менять их не советую.
    
        $sep_par = ';'; // разделитель пар опций -> значений: opt1=val1,val2,val3;opt2=val1,val2,val3 ...
        $sep_opt = '='; // разделитель внутри пары опция -> значения: opt1=val1,val2,val3 ...
        $sep_val = ','; // разделитель для параметров опции: val1,val2,val3 ...
    
          if ($filter) {
    
          $matches = explode($sep_par, $filter);
    
          $options = array();
          $values = array();
          $parts = array();
    
         foreach ($matches as $option) {
            $data = explode($sep_opt, $option);
            $parts[] = $option;
            $options[] = $data[0];
            $values[] = explode($sep_val, $data[1]);
          }
    
          if (in_array($option_id, $options)) { // если эта опция уже есть в запросе, то мы не добавляем её
    
            $key = array_keys($options, $option_id); // вычисляем ключ массива для дальнейшей работы с именно этой опцией
    
            if (in_array($value_id, $values[$key[0]])) { // если это значение уже есть в запросе
              if (count($values[$key[0]]) == 1) { // и если оно единственное
                if (count($matches) == 1) { // еще и с единственной опцией, то удаляем из запроса весь фильтр
                  $out = '';
                } else { // если опция не одна, удаляем только эту опцию с её параметром
                  $out = '&' . $variable . '=' . str_replace((array_search($parts[$key[0]], $parts) ? $sep_par . $parts[$key[0]] : $parts[$key[0]] . $sep_par), '', $filter);
                }
              } else { // если значений несколько, удаляем это значение, оставляя другие с опцией
                $out = '&' . $variable . '=' . str_replace($parts[$key[0]], $options[$key[0]] . $sep_opt . str_replace((array_search($value_id, $values[$key[0]]) ? $sep_val . $value_id : $value_id . $sep_val), '', implode($sep_val, $values[$key[0]])), $filter);
              }
            } else { // если значения нет в запросе, то добавляем его к значениям этой опции
              $out = '&' . $variable . '=' . str_replace($parts[$key[0]], $options[$key[0]] . $sep_opt . $value_id, $filter);
            }
          } else { // если этой опции нет в запросе
            $out = '&' . $variable . '=' . $filter . $sep_par . $option_id . $sep_opt . $value_id;
          }
        } else { // если в запросе вообще нет переменной filter
          $out = '&' . $variable . '=' . $option_id . $sep_opt . $value_id;
        }
    
        return $out; // фух.
      }

    я после этого долго и нервно курил. чувствовал себя отбросом, а не программистом

    Snickers, 25 Сентября 2012

    Комментарии (12)
  10. C++ / Говнокод #11832

    +78

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    class woman{
    bool cute;
    bool beauty;
    if (cute == true)beauty = false;
    if (beauty == true)cute = false;
    }
    //made by God

    Досталась в наследство небольшая вселенная, а там это...

    serpinski, 24 Сентября 2012

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