1. ActionScript / Говнокод #5081

    −346

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    if( isTarget )
    {
    	//Some code
    }
    else
    {
    	if( !isTarget )
    	{
    		//Some code
    	}
    }

    Слов нет

    Запостил: Werdn, 27 Декабря 2010

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

    • У меня дежавю?
      Ответить
    • Автор ставит на ночь возле кровати два стакана. Один пустой, а другой с водой. Первый на случай если он захочет ночью пить, а второй если не захочет.
      Ответить
    • А вдруг isTarget — это property с побочным эффектом, поэтому второй вызов необходим?
      Ответить
      • Пропертолить бы того мудака, первым придумавшего проперти.
        Ответить
        • Не нравятся побочные эффекты? На ваш выбор доступно много функциональных языков программирования почти без них. :)
          Ответить
          • Не нравятся дурацкие перделки языка, не сокращающие объём кода, но понижающие понимание происходящего.
            Чем Color := 0 лучше чем SetColor(0)? Да ничем, просто смотрится более сишарпненько.
            Ответить
            • а как оцените это:
              p.v = p.v * p.v * (p.v - 1)
              p.setV(p.getV() * p.getV() * (p.getV() - 1))
              конечно ясности не прибавляет и код не сокращает, в баню эти проперти
              Ответить
              • tmp := p.GetV();
                p.SetV(tmp*tmp*(tmp-1));
                Ответить
                • представим
                  p.x = (p.x + d.x + t.x) * p.x * h.k;
                  p.y = (p.y + d.y + t.y) * p.y *h.k;
                  я вроде не понимал что временную переменную будет логично создавать, я говорил о том что получается трудночитаемая арифметика
                  Ответить
                  • tmp = GetP();
                    SetP(adamar((tmp+d+t), tmp)*h.k);
                    Ответить
                    • перегружать операторы — еще более приводящая к путанице процедура, не согласны?
                      Проперти — плохо, перегрузка операторов — хорошо.
                      К тому же еще неясна реализация этого всего добра и непонятна интуитивно.
                      Глобальное сокращение кода.
                      Ответить
                      • Замена проперти на методы - хорошо, поскольку ясно показывает, где лишний вызов и что надо кешировать.
                        Замена операторов на методы этим не обладает: и так понятно, что a*b, что mul(a, b) - требует времени для вычисления.
                        Ответить
                        • Вы, однако, оптимизатор... Всегда считайте, что проперти нужно кешировать и не ошибётесь.
                          Ответить
                          • Да в том то и прикол, что хрен поймёшь, кто тут проперти, а кто переменная. Проперти, собака, косит под переменную, но не является ей. Оно меня обмануть пытается, а я не люблю, когда меня обманывают. Я вот смотрю на проперти и говорю ему: "ты, фраерок, под своего косишь", а оно мне говорит "не бей меня, я не само такое, меня застаааавилииии". Я даже по морде дать ему не могу, противно просто. Короче, нахрен с такими связываться.
                            Ответить
                            • А смысл их путать? Все знают, что это методы, так зачем себя обманывать и садиться на стрем. А вот краткая запись - объективное преимущество, факт, который Werdn, по-моему, хорошо показал.
                              Ответить
                              • А как ты отличишь проперти от переменной?
                                Ладно бы, было бы требование обращаться к ним только с (), тогда было бы понятно, кто тут кто. А то у меня из-за пропертей в VCLном коде часто бесконечная рекурсия случалась.
                                Ответить
                                • >А то у меня из-за пропертей в VCLном коде часто бесконечная рекурсия случалась.

                                  Это меня в vcl дико неистово бесит... В .net framework такого почти не случается никогда.
                                  Ответить
                                • >А как ты отличишь проперти от переменной?

                                  Ну а vcl ничего и не нужно отличать. Там все проперти.
                                  Ответить
                                • а в питоне вообще непойми как все, а в лиспе еще похлеще — любой набор букв и большого числа спецсимволов является корректным именем, а в форте — вообще любой набор непробельных символов.
                                  Странно, никто не путается.
                                  Ответить
                                  • А в перле вообще любая последовательность символов компилируется.
                                    Но ничего хорошего в этом нет.
                                    Ответить
                                    • В этом нет ничего плохого, для этого голова есть.
                                      Я тут код разгребаю, автор которого когда писал вторую строчку уже забыл что было в первой — это проблема языка?
                                      Ответить
                                      • Головы часто не хватает, когда хочется побыстрее записать то, что придумалось.
                                        Да, язык влияет на мышление программиста. Тут про ПХП статья была мощная, кстати.
                                        Ответить
                                        • Писать что придумалось надо на бумаге (или в блокноте каком-нить) человеческими словами.
                                          Реализовывать нужно как раз когда остыл, сгоряча написанным этот сайт полнится.
                                          Ответить
                                          • Дык язык должен поощрять такой подход и не поощрять возможность ляпать сразу, что придумалось. Чтобы минимизировать человеческий фактор.
                                            Ответить
                            • В с++ переменные тоже бывают с пост эффектами. Так, что нечего жаловаться на проперти.
                              Ответить
            • >просто смотрится более сишарпненько.
              Property в Delphi появились за долго до появления C#.
              Ответить
              • Сишарп уже тогда существовал в виде эмбриона пропертей в дельфах.
                Ответить
            • В C# проперти смотрятся слишком по дельфовски. :D
              Ответить
            • > Чем Color := 0 лучше чем SetColor(0)?
              А как быть с тем же Object Inspector'ом в Delphi и не только? (Опуская вопрос о его необходимости :) По-моему, это неплохой пример того, где property облегчают жизнь.
              Ответить
      • .
        Ответить
      • разве они есть в АS?
        я думал тока в C#
        Ответить
    • Троичная логика?
      Ответить
    • Раз. Раз. Проверка.
      Ответить
    • vanished
      Ответить

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