1. C# / Говнокод #25995

    0

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    private List<string> StrSplit(string str)
    {
        if (!string.IsNullOrEmpty(str))
            return str.Split(new char[] { ',', ';', ':' }, StringSplitOptions.RemoveEmptyEntries).ToList();
        return null;
    }

    Запостил: m_sandman, 25 Октября 2019

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

    • И что? Рrivate helper function для решения конкретной небольшой задачи. Ну разве что null подозрительно, но, может быть, такая логика хранения данных.
      Ответить
      • ну если доебываться, то
        return str?.Split(...)
        Ответить
        • Ох, давненько я не брал в руки сишарпа.
          Ответить
          • А хуй изо рта давно вытаскивал?
            Ответить
          • до такой степени, что забыл про нулаблы?
            Ответить
            • Ну, нулаблы типа int? в мое время были, а оператора ?. - нет.
              Ответить
              • в коко тоже такое есть

                можно вот такие цепочки выписывать

                hui?.pizda()?.dzhigurda()

                лучше всего сделано в ObjC (и мож в сфифт) посыл сообщения нилу валидная опеарация.
                Там можно вызывать что угодно у нила, и будет тоже нил.

                Представляешь, как удобно ловить ошибку?
                Ответить
                • "лучше" и "удобно" - это сарказм, я так полагаю? (а то мало ли)
                  Ответить
                  • На самом деле это зависит.

                    Если ты действиельно хочешь написать что-то типа

                    if (petushok != null) {
                     grebeshok = petushok.grebeshok;
                     if (grebeshok != null) {
                     }
                    }

                    то действительно удобно

                    но чаще всего это просто ебланский способ потерять ошибку.
                    Ответить
                    • Тогда, наверное, лучше всего как раз в C#: нужно явно обозначать намерение вопросиком, но и громоздкой цепочки йифов не возникает.
                      Ответить
        • str? проверяет на null? А в этой задаче нужно ещё проверить на пустоту (IsNullOrEmpty), чтобы не генерировать список из пустой строки. Или лучше всё-таки в случае пустой строки вернуть пустой список, а не null?
          Ответить
          • почти всегда лучше вернуть пустой список, а еще лучше массив
            Ответить
            • Да, так проще будет обрабатывать результат. null можно возвращать только в совсем плохих случаях, когда что-то пошло не так.

              А в «PHP» функция может вернуть null, может вернуть false, может вернуть пустой список, может вернуть число с кодом ошибки, поэтому в «PHP» нужно проверять тип результата и почти никогда нельзя сравнивать через ==.
              Ответить
              • нулабильность это one billion dollar mistake.

                В .NET это давно уже бороли аннотацией (или как она там называется? атрибут?) Nullable/NotNull

                ныече стало так
                https://devblogs.microsoft.com/dotnet/try-out-nullable-reference-types/

                Null надо возвращать только если семантика у нула и у пустого листа ЯВНО различаются, тут это скорее всего не так
                Ответить

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