Разработчик iOS-приложения для Nissan бездумно скопировал код со Stack Overflow прямо в продакшн



    Блогер Скотт Хелм (Scott Helm) поделился с читателями своего твиттера любопытным скриншотом, содержащим экран настроек геолокации мобильного приложения NissanConnect (ссылка на оригинальный твит, который в ленте Geektimes занимает слишком много места). На первый взгляд приложение выглядит вполне обыденно, если бы не любопытная строка «The spirit of stack overflow is coders helping coders» в самом низу.

    Несмотря на то, что фраза выглядит вполне доброжелательно, всё же трудно предположить, что разработчик вставил её специально. Беглый поиск по StackOverflow подтверждает эту мысль: кто-то с ником spenf10 в августе прошлого года задал вопрос, имеющий прямое отношение к теме геолокации на iOS. Ответ, который набрал 106 голосов, содержит пример XML-кода, для заполнения файла info.plist:

    <key>NSLocationWhenInUseUsageDescription</key>
    <string>The spirit of stack overflow is coders helping coders</string>
    
    <key>NSLocationAlwaysUsageDescription</key>
    <string>I have learned more on stack overflow than anything else</string>
    


    Судя по всему, автор NissanConnect просто скопировал код в своё приложение, не отредактировав надлежащим образом строку с описанием параметра. Это, конечно, никак не повлияло на работоспособность приложения, которое и было официально представлено пользователям.
    Поделиться публикацией
    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Подробнее
    Реклама
    Комментарии 16
    • +12
      Новость несомненно заслуживающая быть на GT. Может это специально оставленная пасхалочка.
      • 0
        У SO любопытная лицензия на код из ответов. Возможно, теперь Nissan'у придётся поделиться исходниками своего приложения.
      • +3
        Такие приложения часто на аутсорс отдают. Не раз встречал на upwork небольшие проекты для довольно крупных брендов. Правда, обычно это что-то для внутренней кухни а не для общего пользования.
        • +2
          В ответе на StackOverflow кто-то дописал под этим примером:
          You'll probably want to customize and spell-check the strings of the dictionary entry that goes in the info.plist file before shipping the code.
          • +2
            Там не только разработчик, который может быть работал по 14 часов ;) Но как это проспал QA?
            • 0
              О, QA такое проспать может легко, во-первых, может у них и не было ручного тестирования, все автоматом. Во-вторых, зачастую QA спрашивает разработчика что должно быть напечатано в окне, а разработчик в запарке просто копипастит в скайп кусок кода. В-третьих, QA может подумать что так и надо, мало ли что эти странные разработчики тут пишут. Потом может это такой способ рекламы своего продукта?

              Вообще, не вижу большой проблемы, то что зачастую разработчики даже крупных проектов копипастят код из SO не новость, а забыть убрать отладочную информацию вообще типичная ошибка. Ладно там не мат или что-то подобное оказалось.
              • +1
                В маленьких компаниях может быть, но в больших, как нисан, должен быть менеджер проекта и команда ux/ui которые определяют, что должно быть написано и как. QA берет данные из тех задания, а не из уст программиста.
                • 0
                  мне кажется тут речь идет о стороннем ПО для Ниссан
              • 0
                Да легко это пропустить, потому что эта надпись не в приложении, а в настройках iOS. И мало кто туда заходит.
                • 0
                  Хотя когда приложение спрашивает доступ тоже видно этот текст… Но я думаю никто особо не читает тоже.
              • +1
                А откуда опечатка взялась? spirit vs sprit.
                • 0
                  «Во-вторых, зачастую QA спрашивает разработчика что должно быть напечатано в окне» — тогда вопрос: а зачем такие куа? Что он тестит тогда?
                  • 0
                    Ну вот так и тестит ;) Часто бывает, когда нет четких требований, а дедлайн близко, то все неясные моменты решаются по ходу дела, в лучшем случае, после обсуждения с коллегой-разработчиком или лидом. Тестировщик не всегда успевает за такими изменениями следить, вот ему потом и приходится спрашивать у автора кода «что там должно происходить?».

                    Зато при таком подходе не будет споров, когда у разработчика и тестировщика разные точки зрения на то, как оно должно работать.
                  • –1
                    Господи, вот людям нечем заняться :) ну скопировал и что же дальше?

                  Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.