1. PHP / Говнокод #445

    +264.4

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    <?php
    for($i=0;$i<10;$i++) {
    	for($i=0;$i<5;$i++) {
    		echo 'Какого х** зацикливает!!!!!!!';
    	}
    }
    ?>

    Каждый наверное наступал на эти грабли :)

    Запостил: guest, 23 Января 2009

    Комментарии (51) RSS

    • Я точно не наступал =) "Два цикла - два счетчика цикла" - хорошее правило.
      Ответить
    • laverGie:
      многие наступали и будут наступать ) это даже не говнокод это невнимательность
      Ответить
    • Доброгость:
      Забавно :)
      Пока еще не умудрялся. Всегда для каждого вложенного цикла новый счетчик юзал из ряда i, j, k.
      Видел, как у некоторых личностей такой ряд был i, ii, iii.
      Ответить
      • А у меня если 1 счетчик, то i, если много, то иду по нижнему ряду клвиатуры. z x c v b n... и т.п. Но на такие грабли не наступал)
        Ответить
        • Как же так??? Это ни в какие ворота не лезет, где конвенции???
          Ведь c - это символ, v - это вектор, b - это байт, n - это докуда копать, верхний предел цикла, x - это какая-то неизвестная переменная, из матана, z - неведомая ебаная хуйня. И никакие это не счетчики цикла, я вас умоляю!
          Ответить
      • i, i2, i3 как вариант в принципе
        Ответить
    • Keeper:
      Как вариант, copy-paste bug.
      Ответить
    • Ponchik:
      Ну незнаю, я так ошибался, конечно было подругому
      певый цикл
      50 строк кода
      второй цикл
      50 строк кода

      И потом сидел думал какого чёрта всё зацикливает
      Ответить
    • Verber:
      И будете наступать пока не перестанете использовать i,j,k и прочие отфонарные имена переменных в качестве переменной цикла.
      for($column=0;$column<10;$column++) {
      	for($row=0;$row<5;$row++) {
      		echo 'И них** не зацикливает!!!!!!!';
      	}
      }
      Ответить
      • Ерунда, использовал ijk всегда и таких косяков никогда не делал
        Ответить
      • Знаешь, может это и правильно с точки зрения здравого смысла, но все привыкли к i,j,k (кстати часто употребляются в математике). Да в общем то и не плохо живут и друг друга прекрасно понимают.
        Ответить
    • показать все, что скрыто
      for (int i = 0; i != 10; ++i)
      {
        for (int i = 0; i != 5; ++i)
        {
          printf("Не зацикливает. Что я делаю не так?\n");
        }
      }
      Ответить
      • просто здесь переменные с явным объявлением.
        Ответить
      • перекрытие видимости. Но к i внешнего цикла не подберёшься
        Ответить
      • да уж, такое не всякий компилятор одобрит=) у меня перегрузка в циклах не работает на GNU=)
        Ответить
        • Она по стандарту не должна работать в си. И должна в си++.
          Ответить
    • Доброгость:
      2 Говногость #7
      Ты не на ПоХаПэ пишешь.
      Ответить
    • Доброгость:
      2 Verber
      Quick Sort напиши с разумными именами :)
      Ответить
      • Какие - то проблемы?
        MaxScript
        fn QuickSort Arr Low:1 High:undefined = (
        	try (
        		if High == undefined then
        			High = Arr.Count
        		local	LowID = low,           
        			HighID = high,
        			x = Arr[(low + high) / 2]
        		while LowID < j do (
        			while Arr[LowID] < x do
        				LowID += 1
        			while Arr[HighID] > x do
        				HighID -= 1
        			if LowID <= HighID then (           
        				Swap Arr[LowID] Arr[HighID]
        				LowID += 1
        				HighID -= 1
        			)
        		)
        		if low < HighID then
        			QuickSort Arr Low:low High:HighID
        		if LowID < high then
        			QuickSort Arr Low:LowID High:high
        	) catch
        		GIMS.Core.SystemMgr.ThrowError "Shared->Core->ArrayOps->QuickSort error" (GetCurrentException())
        )
        Ответить
    • Arty:
      А чё в пхп нет области видимости переменных? Perl:
      for(my $i=0;$i<10;$i++) {
      for(my $i=0;$i<5;$i++) {
      print "$i ";
      }}

      выводит "0 1 2 3 4" 10 раз.
      Ответить
    • Verber:
      2 Доброгость
      sort($ratings);
      и ниипёт

      2 Arty
      Ну почему же есть аж целых 2 локальная и глобальная :)
      Ответить
    • Это потому что читаем доку и не задумываемся над тем, что где зачем сделано. Никогда на такие грабли не наступал.
      Ответить
    • daemon_master:
      когда-то задачу ещё на старом добром паскале решал, и там понадобился 3-ёхмерный массив, но ответ не помещался даже в тип int64, поэтому пришлось делать 4-ёхмерный массив для длинной арифметики....в итоге целый час исправлял индексы счётчиков :)
      Ответить
    • Ну это для дибилов.
      Ответить
    • писец, $i,$j,$k - это ж классика
      Ответить
    • пи*дец хахахахахахаха))))))))))
      в мозге у тя зацикливает)
      Ответить
    • А в делфе автоматически ошибку компиляции выдаёт... Не пропустишь
      Ответить
      • *guest бросил Haskell и перешёл на дельфи*
        Ответить
        • Где сейчас берут на работу хаскелистов? ни одной вакансии на hh.ru не видел. В каком городе хотя бы?
          Ответить
    • у меня иногда бывает такое:

      for($i=0;$i<10;$i++) {
      	for($j=0;$i<5;$j++) {


      т.е. после копипаста забываю переменовать одну переменную + особо их не различить...
      Ответить
      • А ты пиши всегда сам, или пиши в ИДЕ которая подсвечивает название переменных
        Ответить
    • Пишите отображениями, свертками и не будет зацикливать.)
      Ответить
    • До боли знакомо)))
      Ответить
    • ...из разряда "плюсани если писал" :)
      Ответить
    • гыы, лол
      я никогад не наступал
      я всегда делаю так:
      for i := 1 to n do
      begin
      for ii := 1 to n do
      begin
      ...
      end;
      end;

      =)
      Ответить
    • for row in rows:
      # something
      Ответить
    • Можно и короче

      $s = 'Какого х** зацикливает!!!!!!!';
      while ($s) echo $s;
      Ответить
    • В пайтоне кстати не зациклит:
      x = 0
      for i in xrange(1, 11):
        for i in xrange(1, 11):
          x += 1
      Ответить
    • Двигатель. Вечный двигатель XD
      Ответить
    • Я один лошара с $counter, $counter2, $counter3 итд?)
      Ответить
    • каждый у кого вместо ide - блокнотик
      Ответить

    Добавить комментарий