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

    +130

    1. 1
    public void GetLocalUsers(out List<string> members) { ... }

    Первый раз вижу что-то подобное.

    Запостил: fr0mrus, 06 Марта 2012

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

    • Смутил тип возврата void в функции с именем Get... ?
      Ответить
      • просто гетер публичный наверное к тому же еще и воид возвращает вместе со списком...
        Ответить
      • Я бы сказал, смутил феерический идиотизм. Я бы за такое бил по рукам.
        Ответить
      • Может быть это бывший программист на Objective C — у них по гайдлайнам положено писать именно так.
        Ответить
    • > дай список
      > а void хрен тебе
      Ответить
      • может
        >а вот void тебе
        ?
        Ответить
      • Или даже:
        Что, сволочь, хочешь список трудовой? А вот void тебе! Накуси-выкуси!
        Ответить
        • Не, это примерно: документы распечатаем, но приносите свою бумагу.
          Ответить
    • Девушка написала. Со словами: "Я так хочу, у меня стиль такой". Весь код в таком стиле... Без шуток.
      Ответить
      • Гы ) это многие разрабы которые не работали в команде говорят.
        Я слышала такое от мужчин раза три...
        Ответить
      • я ничего страшного не вижу.

        и это не только стиль, но и способ заставить вычитывать данные перед использованием в переменную.

        оправдано если внутри функции генерация списка.

        говно если это просто геттер для референса/указателя (или чего оно там в С#) существующего списка.
        Ответить
        • Хз, иногда имеет смысл потребовать, чтобы структуру данных создали в другом месте, т.как размер не известен внутри функции. Но передавать сложный объект через out нет смысла. Это только добавляет сложностей в организации функции, которая с ним работает (функция не может закончится, если переданному параметру не назначено значение). Вобщем, такие манипуляции могут быть оправданы для простых типов, когда функция уже что-то возвращает, а нужно, чтобы еще что-то проапдейтилось врезультате работы, а возвращать структуру содержащию сразу несколько значений не хочется.
          В данном случае - прoсто бессмысленное усложнение. Вероятнее всего, без out работало бы точно так же (если список создается где-то в другом месте).
          Ответить
          • > Но передавать сложный объект через out нет смысла.

            я правильно понял документацию, что в C# как и в жабе объекты (или точнее "reference types") передаются всегда по ссылке?

            > Вероятнее всего, без out работало бы точно так же (если список создается где-то в другом месте).

            Если как в Жабе, то да.
            Ответить
            • Да, в этом смысле так же как в Яве. Но тут могло быть две разные ситуации: Создали объект вне функции, и передали его функции, чтобы она с ним что-то сделала. Либо объявили переменную нужного типа, и ожидаем, что функция создаст объект и присвоит ссылку на него объявленной переменной. В первом случае out вообще не нужен. Во втором - лучше было бы его вернуть из функции, чем так замысловато передать.
              В теории, возможна ситуация, когда кто-то хотел функцию использовать и первым и вторым способом, и в ситуации, когда бы функция возвращала объект, который дальше по коду не используется (потому что ссылка на него уже есть), могло быть предупреждение за не использование возвращаемого результата. Но судя по описанию, проблема более тривиальная :)
              Ответить
    • мужчин не трогать. мужчины - суровые и пишут сурово. а девушки хотят няшно писать и получается вот такой "стиль"
      Ответить
      • Ага, а все чем говнокод забит девушки написали.
        Ответить
        • это все школота. кстати с наступающим дама, мы на работе уже в говно))) настроение праздничное, чего желаю всем присуцтвующим на говнокоде говнокодерам и не очень
          Ответить
          • Спасибо.
            Ответить
          • Пипец, никогда не думал, что на говнокоде будут поздравления с 8 марта.
            Ответить
      • Кстати вспомнилось как друг ругался на проект который ему достался.
        Хорошо написан, оппешно и все такое, но вот названия...
        Кнопка PushMyHardBaby и тд и тп.
        Ответить
        • Да. Совершенно безграмотно.
          Нужно же PushMeHardCommaBaby
          Ответить
          • Или по старинке: PushMeAndThenJustTouchMe
            Ответить
          • У меня двое суток температура под 39, могу и не такое написать...
            Ответить
            • То есть это ты так кнопки называешь, а не друг.
              У одной моей подруги с Люром её знакомым...
              Ответить
            • >могу и не такое написать...
              не кипятком и ладно
              Ответить
    • показать все, что скрытоvanished
      Ответить

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