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

    +163

    1. 1
    2. 2
    3. 3
    4. 4
    if ((intPas1Sel == 1) && (intMode11+intMode12    > 0)) { tgt [tgtNum].c1=tgtCode [prTgt [j].Num][0]; h2=h2 | 0x800 ; h1=h1 | (s << 12); }
    			if ((intPas2Sel == 1) && (intMode2               > 0)) { tgt [tgtNum].c3=tgtCode [prTgt [j].Num][1]; h2=h2 | 0x1000; h1=h1 | (s << 10); }
    			if ((intPas3ASel== 1) && (intMode3A1+intMode3A2  > 0)) { tgt [tgtNum].c3=tgtCode [prTgt [j].Num][2]; h2=h2 | 0x2000; h1=h1 | (s << 8 ); }
    			if ((intSecOver == 0) && (prTgt [j].unStateIdent > 0)) { tgt [tgtNum].cc=tgtCode [prTgt [j].Num][3]; h2=h2 | 0x8000; h1=h1 | (s << 14); }

    Так форматируют код профессионалы в нашей фирме

    Запостил: russian_avionics, 04 Октября 2011

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

    • Был когда-то одеколон такой "ONE MAN SHOW", а это стиль такой "ONE MAN CODE".
      Ответить
    • поверьте мне, это еще не самый страшный случай.
      тут все хоть выровняно табами.
      я видел таких, чей код похож на результат работы обфускатора, срсли.
      Ответить
    • А почему 2-4 строки уехали?
      Ответить
    • Сухой?
      так он до сих пор набирает профессианалов на хехе.ру
      молодые специалисты дают о себе знать
      Ответить
    • От, ипать. До форматирования докопались.
      Сравни:
      if ((intPas3ASel== 1) && (intMode3A1+intMode3A2  > 0)) { tgt [tgtNum].c3=tgtCode [prTgt [j].Num][2]; h2=h2 | 0x2000; h1=h1 | (s << 8 ); }
      if ((intSecOver == 0) && (prTgt [j].unStateIdent > 0)) { tgt [tgtNum].cc=tgtCode [prTgt [j].Num][3]; h2=h2 | 0x8000; h1=h1 | (s << 14); }

      Или:
      if ( (intPas3ASel== 1) && (intMode3A1+intMode3A2  > 0) ) { 
      	tgt [tgtNum].c3=tgtCode [prTgt [j].Num][2]; 
      	h2=h2 | 0x2000; 
      	h1=h1 | (s << 8 ); 
      }
      if ( (intSecOver == 0) && (prTgt [j].unStateIdent > 0) ) { 
      	tgt [tgtNum].cc=tgtCode [prTgt [j].Num][3]; 
      	h2=h2 | 0x8000; 
      	h1=h1 | (s << 14); 
      }

      Где нагляднее? А?
      Ответить
      • и так говно надо так
        if (intPas3ASel == 1 && intMode3A1 + intMode3A2  > 0)
        {
        	tgt [tgtNum].c3 = tgtCode [prTgt [j].Num][2]; 
        	h2=h2 | 0x2000; 
        	h1=h1 | s << 8; 
        }
        if (!intSecOver && prTgt [j].unStateIdent > 0)
        {
        	tgt [tgtNum].cc = tgtCode [prTgt[j].Num][3]; 
        	h2=h2 | 0x8000; 
        	h1=h1 | s << 14; 
        }
        Ответить
        • вернее даже так если все исправить
          if (intPas3ASel == 1 && intMode3A1 + intMode3A2  > 0)
          {
          	tgt[tgtNum].c3 = tgtCode[prTgt[j].Num][2]; 
          	h2 = h2 | 0x2000; 
          	h1 = h1 | s << 8; 
          }
          if (!intSecOver && prTgt[j].unStateIdent > 0)
          {
          	tgt[tgtNum].cc = tgtCode[prTgt[j].Num][3]; 
          	h2 = h2 | 0x8000; 
          	h1 = h1 | s << 14; 
          }
          Ответить
      • базара нет - наверху гораздо лучше: по строка идет логика, а по "столбцам" отдельные команды.
        Когда сам писал подобное, за малостроковый вариант высказалось подавляющее большинство программистов.
        Отдельный вопрос про имена полей/переменных и вообще про логику условий, которые на вид немного того...
        Ответить
    • Запись в С++ через запятую - нет, не слышал.
      Ответить
    • Где здесь С++?
      Ответить

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