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

    −84

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    public function isContainsHiddenId(hiddenId: String): Boolean
     		{
    -			for (var index: int = 0; index < hiddenIds.length; index++)
    +			/*for (var index: int = 0; index < hiddenIds.length; index++)
     			{
     				if (hiddenIds[index] == hiddenId)
     				{
     					return true;
     				}
     			}
    -			return false;
    +			return false;*/
    +			return hiddenIds.indexOf(hiddenId) == -1 ? false : true;

    От автора MathAndGeometryUtils, после того, как ему посоветовали использовать indexOf.

    Запостил: wvxvw, 19 Сентября 2014

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

    • Это не лечится.
      Ответить
    • > как ему посоветовали использовать indexOf
      Везёт вам в экшонскрипте... А вот в блядском IE8 нету indexOf.
      Ответить
      • А вот в блядском IE8 нету <подставь что угодно>.
        Ответить
        • Я недавно подставил data:URI, а оказалось, что в IE8 это есть. Хотя... выяснилось, что оно там так реализовано, что лучше бы его не было.
          Ответить
      • У меня такое подозрение, что создание более-менее нетривиальных приложений в ж.скрипте в любом случае обязывает использовать какой-нибудь модрнзр, или что-то такое, где эту неприятность исправят. Принимая во внимание то, что это проект с использованием Флекса, тут никто не поскупился бы загрузить библиотеку, если бы она была нужна, какие-то пару десятков килобайтов погоды не сделают.
        Ответить
    • по рукам надо давать за "isContains". это блядские code conventions for people with no brain
      Ответить
      • А isContaining будет ближе к естественному языку или всё равно лажа?
        Ответить
        • present continous или как там его?

          Object is containing hidden id at this moment.
          Ответить
        • Не, факты принято выражать в Present Simple.
          Ответить
          • У меня есть ещё варианты:
            1. isHiddenIdContained.
            2. doesContainHiddenId.
            Ответить
            • > isHiddenIdContained...
              ...inTheObject
              Ответить
            • Contained и contains - разные вещи. Contained - чаще используется как прилагательное "сдержаный", contains как глагол "содержит".
              А вообще, желание писать isX идет вразрез с тем, как такие слова строятся в естесственном языке. Т.е. схема is[прилагательное|отглагольное существительное] воспринимается как новояз, потому что в естесственном языке у свойств есть "полярность", т.е. когда мы говорим, например, "высокий", нам не нужно уточнять, что объект не невысокий, мы бы просто не использовали слово "высокий" для описания чего-то низкого.
              А если мы копнем глубже, например, почитаем Хайдеггера (Бытие и время) или Хана (Глагол "быть" в греческой философии), то поймем, что использование этого глагола в таком качестве ведет к отсутствию когерентности, упадку и забвению человеческой мысли и, вобщем, все умерли, очень печально.
              Ответить
              • Трилобиты умерли, динозавры умерли, а человек так вообще обречён.
                Ответить
                • if (trilobitesAreDead) // не, нихуя, у нас так не пишут
                  if (areTrilobitesDead) // лучше, но не с из
                  if (isTrilobitesDead) // тимлид улыбается - я иду в правильном направлении
                  if (isDeadTrilobites) // "схема is[прилагательное|отглагольное существительное]" ??
                  if (isDeadEveryTrilobite) // а теперь даже число правильное - коммитим!
                  Ответить
                  • if (all(trilobites, _.dead()))
                    Ответить
                    • переголова, у нас уже в переменной все посчитано.
                      Ответить
                    • >_
                      Кто-нибудь может мне объяснить, что за любовь к именованию переменных таким образом?
                      Ответить
                      • магическое подчёркивание же

                        В скалке это сахар для простых лямбд
                        _.prop === x => x.prop

                        В хаски для переменных, начинающихся с подчёркивания, не выводятся ворнинги при их неиспользовании (есть идиома использовать подчёркивание как шаблон "catch all" при паттерн-матчинге)
                        Ответить
                        • > В скалке это сахар для простых лямбд
                          Какая прелесть, вот бы в JS Это было.

                          Хотя, в ES6 можно и самостоятельно сделать
                          var _ = new Proxy({}, {
                            get: function(_, name){
                              return function(x){
                                return x[name];
                              }
                            }
                          });
                          Ответить
                        • Не, я вот видел такие именования без привязки к специфике языка.
                          Ответить

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