Конференция "Прочее" » Не боги горшки обжигают
 
  • Kilkennycat © (26.05.17 22:11) [0]
    if ((INBuffer[1] == 0x81) && (INBuffer[2] == 0x01))
                                       {
                                           PushbuttonPressed = false;
                                       }

                                       if ((INBuffer[1] == 0x81) && (INBuffer[2] == 0x00))
                                       {
                                           PushbuttonPressed = true;
                                       }



    От компании Микрочип, из примера.
  • Inovet © (26.05.17 22:42) [1]
    В данном случае может и нормально, только надо было else if для второго варианта.

    Если это для микроконтроллеров ещё актуально, то так неоптимально.
  • Игорь Шевченко © (26.05.17 22:47) [2]
    Смотря во что это компилируется
  • SergeyIT © (26.05.17 22:58) [3]
    Это на Паскале? ((
  • Kilkennycat © (27.05.17 00:16) [4]
    это сишарп, обычное винформ-приложение.
  • KilkennyCat © (27.05.17 00:31) [5]

    > Inovet ©   (26.05.17 22:42) [1]
    > В данном случае может и нормально,

    Как раз в данном случае нормально было бы
    if (INBuffer[1] == 0x81)
    PushbuttonPressed = (INBuffer[2] == 0x00);

    - это даже нагляднее, так как показывает какой элемент массива на что влияет (в данном случае, первый элемент - признак данных для кнопки, второй - состояние кнопки), но даже без ентого - всего два условия.

    > только надо было else if для второго варианта.
    Там попадались дальше и  такие:
    if (PIR2bits.BCLIF)
    {
      return ( -1);
    }

    else  if (WriteI2C(control))



    еще веселее. Зачем else if после return? Для наглядности кода? Но это исходник библиотеки, туда не лезут особо, и это - код для мк...
  • KilkennyCat © (27.05.17 00:33) [6]

    >  Зачем else if после return?

    c if конечно, тут я неточно сказал, лишнее лишь else
  • ухты © (27.05.17 15:48) [7]

    > лишнее лишь else
    а никакой разницы
  • TohaNik © (27.05.17 20:23) [8]
    Жах
    Это личное....:)
  • NoUser © (28.05.17 02:15) [9]
    > это сишарп, обычное винформ-приложение.
    ? ? ?
    > и это - код для мк...

    Не понял.
  • DayGaykin © (29.05.17 08:52) [10]
    Вы ещё наш код не видели. И счастье вам, что не увидите!
  • Юрий Зотов © (29.05.17 14:25) [11]
    > Kilkennycat ©   (26.05.17 22:11)

    Если  PushbuttonPressed - свойство с сеттером, а в этом сеттере выполняются еще какие-то побочные действия, то сабж может иметь право на жизнь.
  • sniknik © (30.05.17 12:07) [12]
    >
    if (INBuffer[1] == 0x81)
    >   PushbuttonPressed = (INBuffer[2] == 0x00);

    - это даже нагляднее, так как показывает какой элемент массива на что влияет (в данном случае, первый элемент - признак данных для кнопки, второй - состояние кнопки), но даже без ентого - всего два условия.
    это немного не то что в оригинале. не знаю логику, для чего писалось, и возможные значения... но если нужно было - для 0 true, для 1 false, для остальных (< 0, > 1) не менять текущего, то у тебя логическая ошибка.
 
Конференция "Прочее" » Не боги горшки обжигают
Есть новые Нет новых   [134430   +4][b:0][p:0.002]