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

    +144

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    int X,Y,Z;
    X=StrToInt(Edit1->Text);
    Y=StrToInt(Edit2->Text);
    Z=X+Y;
    Edit3->Text=IntToStr(Z),

    Запостил: Мартин, 23 Октября 2010

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

    • жуть какая, это же надо так!! фииии... (табличка::сарказм)

      по большей степени ГК тут в именах классов...
      Ответить
      • имен классов тут нет вообще :) есть имена переменных
        дефолтовые названия для RAD систем типа Delphi.
        Ответить
        • Писался код в спп билдере. Кроме имен компонентов, еще мне непонятно зачем вообще нужно было вводить переменные... если 1 строки хватило бы на сложение.
          Ответить
          • > Писался код в спп билдере
            кэп!
            Ответить
          • > если 1 строки хватило бы на сложение
            Типа так:
            Edit3->Text = IntToStr( StrToInt(Edit1->Text) + StrToInt(Edit2->Text) );
            ?
            Первый вариант зато более очевидный и наглядный. Ну может быть Z следовало убрать. А X,Y я бы оставил.
            Ответить
            • >> Типа так:
              Edit3->Text = IntToStr( StrToInt(Edit1->Text) + StrToInt(Edit2->Text) );
              Да.

              >> Первый вариант зато более очевидный и наглядный.
              Когда программа небольшая и строк мало - соглашусь. Иначе зачем попусту тратить ресурсы? И разбираться в коде сложнее.
              Ответить
              • трехадресный код же. на сваливании в кучу ничего не сэкономится
                Ответить
              • А с чего вы взяли что компилятор не сможет при оптимизации убрать переменную?
                Писать надо так чтобы понятнее было человеку, а не компьютеру. Сложнее разбираться в одной длинной строке, чем в нескольких коротких.
                Ответить
              • Никакой траты ресурсов там нет и в помине. Разбираться в коде с переменными - именно как в оригинале - существенно легче. Более того, множественные вызовы функций в одном statement - за это сразу в сад. Программа не должны содержать более одного вызова функции на statement, на случай если потом понадобится ее пошагово отлаживать. И именно для облегчения отладки промежуточные результаты лучше сохранать в переменных.
                Ответить

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