1. Objective C / Говнокод #15448

    −268

    1. 1
    NSMutableArray * constraints_to_remove = [ @[] mutableCopy] ;

    Мсье знает толк!

    Запостил: nickynick, 13 Марта 2014

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

    • Возьму на заметку)
      Ответить
    • Objective-C очень развращающий язык, все запреты в нем легко обходятся позволяя и искушаяя творить в коде такой разврат и содомию, что волосы дибом стают.
      Ответить
    • А что тут делается?
      Ответить
      • C помошью свежего синтаксического сахара создается пустой массив статичного размера, потом у него вызывается метод возвращающий его изменяемую копию.
        Ответить
    • Кстати, учитывая, что лично мною мутабельные массивы используются раз в десять чаще иммутабельных, мне очень обидно, что @[] возвращает NSArray.
      Хотя это не повод писать такое говно, конечно.
      Ответить
    • Как ни странно, я встречал такую конструкцию много раз. Скорее всего связано с тем, что так написать быстрее (в том числе, учитывая автодополнение кода). А кто-нибудь замерял насколько это медленнее работает, чем [NSMutableArray new] ?
      Ответить
      • в 2 раза примерно.
        Вообще это вольная трактовка советов от Мэтта Галовея. Тк у него в книге много восхищения литеральному синтаксису и есть подобный пример для предзаполненного массива, где использование литерального синтаксиса в некоем роде оправдано(даже с учетом лишенго объекта и лишней операции). Что собственно и произвело неизгладимое влияение на неокрепшие умы.
        Ответить

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