1. VisualBasic / Говнокод #13838

    −87

    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
    Программа на цикл.
    
    Мы запускаем цикл, который можно остановить только если прописать слово "Стоп" :
    
    Dim Slovo As String
    Do
    Slovo = InputBox("Введите слово", "Слово")
    MsgBox(Slovo & "!", , "Слово")
    Loop Until Slovo = "Стоп"
    
    
    
    
    
    Автор: Release
    E-mail: [email protected]
    Сайт: ds-release.ru

    http://vbbook.ru/vb.net/programma-na-cikl/
    Вначале было слово.
    Потом тоже было слово.
    Потом тоже было слово.
    Потом тоже было слово.
    Потом тоже было слово.
    Потом тоже было слово.
    Потом тоже было слово.
    Потом тоже было слово.
    Потом тоже было слово.
    Потом тоже было слово.
    application halted with error

    Stertor, 21 Сентября 2013

    Комментарии (162)
  2. JavaScript / Говнокод #13830

    +155

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    // из кода компонента Ext.ux.TreePanelStatefull
    
    if(node.id == rootNode.id == lastSelectedNodeId) {
        this.selectPath(lastSelectedNodePath);
        node.fireEvent('click', node);
        return;
    }

    nya-nya-ma, 20 Сентября 2013

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

    +147

    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
    function SaveDataFromS() {
            if (window.sessionStorage) { 
                if ($('#dvFilter').html().length > 0 && $('.right_results').html().length > 0) {
                    var tourSearchForm = $('#dvFilter').html();
                    var searchResults = $('.right_results').html();
                    //sessionStorage.setItem('tourSearchForm', tourSearchForm);
                    //sessionStorage.setItem('searchResults', searchResults);
                }
            }
    
            var hotSearchFormSer = $('#hotelSearchForm').serialize();
            var unserialForm = $.unserialize(hotSearchFormSer);
    
            for (var x in unserialForm) {
                if (unserialForm[x] == ""
                    || x.toUpperCase() != "Hotel".toUpperCase()
                    || x.toUpperCase() != "Все+отели".toUpperCase()) {
                    //console.log('вот опять');
                    return false;
                }
            }
            location.hash = hotSearchFormSer;
        }

    Увидел на популярном поисковике отелей

    sladkijBubaleh, 20 Сентября 2013

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

    +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
    $("#ChildrenCount")
                .keyup(function () {
                    var $this = $(this);
    
                    if ($this.val() > maxChild) {
                        $this.val(maxChild);
                    }
                })
                .blur(function () {
                    var $this = $(this);
    
                    if ($this.val().toString().match(/^\d+$/) == null) {
                        for (var i = 0; i < viewModel.children().length; i++) {
                            viewModel.children.remove(i);
                        }
                        $this.val(0);
                    }
                    else if ($this.val() === NaN) {
                        for (var i = 0; i < viewModel.children().length; i++) {
                            viewModel.children.remove(i);
                        }
                        $this.val(0);
                    }
                });

    когда джуниор использует jquery в проекте с knockout

    sladkijBubaleh, 20 Сентября 2013

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

    +162

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    <?php
    
    require_once ("db.php");
    
    $region = $_POST["region"];
    
    $array = mysql_query ("SELECT * FROM city WHERE region = '$region'");
    	echo "<option value=\"\">Выберете город</option>";
    while ($m = mysql_fetch_array($array)){
    	echo "<option value=\"".$m["alias"]."\" id=\"".$m["id"]."\">".$m["title"]."</option>";
    }

    Вот такое чудо обрабатывает ajax-запросы в одном из магазинов, что мне приходится допиливать. Святая наивность.

    desu, 19 Сентября 2013

    Комментарии (248)
  6. SQL / Говнокод #13824

    −160

    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
    create procedure pwqgen @length int =3 
    as 
    /* pwqgen is a t-sql implementation of passwdqc's pwqgen password generator http://www.openwall.com/passwdqc/ */
    /* inspired by https://github.com/iphoting/pwqgen.rb */
    BEGIN 
    create table #separators (id int identity, s char(1))
    insert into #separators 
           select "-" union select "_" union select "+" union select "=" union select "2" union select "3" 
    union select "4" union select "5" union select "6" union select "7" union select "8" union select "9"
    
    declare @maxsep int, @s varchar(1)
    select @maxsep=max(id) from #separators   
    declare @maxid int, @w varchar(30) , @pw varchar(31) 
    select @maxid=max(id) from words  -- =4096
    
    select @w=w from words where id=convert(int,round(rand()*@maxid,0) )
    -- capitalize 1st letter
    if rand() > 0.5 
    	select @w= UPPER(LEFT(@w,1))+SUBSTRING(@w,2,LEN(@w)) 
    set @pw=@w
    set @length = @length-1 
    
    while @length > 0  
    begin 
    	select @s=s from #separators   where id=convert(int,round(rand()*@maxsep,0) )
    	delete from #separators where s=@s
    
    	select @w=w from words where id=convert(int,round(rand()*@maxid,0) )
    	-- capitalize 1st letter
    	if (rand() > 0.5 or @s is null)
    		select @w= UPPER(LEFT(@w,1))+SUBSTRING(@w,2,LEN(@w)) 
    	set @pw=@pw+@s+@w
    set @length = @length -1 
    end 
    
    -- if no one number in @pw - append or replace last letter to random number
    if PATINDEX('%[0-9]%', @pw ) > 0 
    begin 
    	set @s=convert(char(1), 2+convert(int,round(rand()*7,0)) )
    	if len(@pw)<30 set @pw=@pw+@s
    	else 	set @pw=UPPER(RIGHT(@pw,1))+SUBSTRING(@pw,1,LEN(@pw)-1)+@s
    end 
    drop table  #separators 
    print @pw
    END 
    
    -- требует существования таблички со словами
    -- create table words (id int identity , w varchar(7))
    -- 4 тыс слов взял отсюда: https://github.com/iphoting/pwqgen.rb/blob/develop/lib/pwqgen/wordlist.rb

    паролегенератор на tsql.
    при тестах понял что возможна ситуация, когда пароль не имеет ниодной цифры, что запрещено политикой.
    наговнокодил кучу charindex-ов. впринципе то работало, но вспомнил этот сайт, условие переписал под patindex, но треш в ветке с условием if PATINDEX('%[0-9]%', @pw ) > 0 остался.

    bliznezz, 19 Сентября 2013

    Комментарии (5)
  7. PHP / Говнокод #13823

    +151

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
            try {
                $mySqlData = $this->apiTransport->call('Data', 'checkByHash', $params, $this->ApiClient->getOptions());
            } catch (\Exception $e) {
                throw new \Exception($e->getMessage());
            }

    Не перестают удивлять

    greevex, 19 Сентября 2013

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

    +8

    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
    if (dequeueBuffer_) {
        delete dequeueBuffer_;
        dequeueBuffer_ = NULL;
      }
    
      if (enqueueBuffer_) {
        delete enqueueBuffer_;
        enqueueBuffer_ = NULL;
      }
    
      if (readBuff_) {
        delete[] readBuff_;
        readBuff_ = NULL;
      }
    
      if (currentEvent_) {
        delete currentEvent_;
        currentEvent_ = NULL;
      }

    Apache Thrift 0.9.1, made in Facebook
    Код в деструкторе:

    Fogbit, 19 Сентября 2013

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

    +142

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    function handleSelection(etot, totId) {
       var tot = document.getElementById(totId);
          if (!etot.checked) {
             if (!tot.checked) {
                tot.checked = true;
             }
          }
    }

    тот этот

    basta, 18 Сентября 2013

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

    +107

    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
    public class Visit 
    {
    	public DateTime Start {get; set;}
    	public DateTime Finish {get; set;}
    }
    
    public bool IsConflict(Visit a, Visit b)
    {
    	var s = GetArray(a);
    	var s2 = GetArray(b);
    	return Compare(s,s2);
    }
    
    private List<string> GetArray(Visit visit)
    {
    	var list = new List<string>();
    	while (visit.Start < visit.Finish)
    	{ 
    	  list.Add(visit.Finish.ToString()); // в строках!
    	  visit.Finish -= TimeSpan.FromMinutes(1); // по 1й минуте!!!
    	}
    	return list;
    }
    private bool Compare(List<string> list1, List<string> list2)
    {
    
    	foreach (var s in list1)
    	{
    		if (list2.Any(x => x == s))
    		{
    			return false;
    		}
    	}
    	return true;
    }

    Основная здесь функция, предназначенная для вызова, - IsConflict(Visit a, Visit b)
    Она должна проверять, пересекаются ли меджу собой два промежутка времени.
    Вот такая проверка со сложностью O(n*n) , где n - кол-во минут в промежутках времени.

    kasitan, 18 Сентября 2013

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