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

    +103

    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
    private static bool IsSourceField(DataRow row, string fieldName)
            {
                try
                {
                    object fieldValue = row[fieldName];
    
                    return false;
                }
                catch
                {
                    return false;
                }
            }

    Бизнес логика.

    Запостил: kore_sar, 05 Февраля 2013

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

    • ПБОЮ(Т)Л писал
      Ответить
    • Хочешь сей, а хочешь куй...
      Ответить
      • менеджер сказал false, значит false, а вы все дураки. Незаменимых людей нет
        Ответить
    • Это дзенский коан. Ещё похлеще, чем try { return true; } finally { return false; }
      Ответить
      • > try { return true; } finally { return false; }
        А что тут такого?
        Попробовать вернуть труЪ, но в конце концов вернуть ложЪ.
        Ответить
        • Шарпик не позволяет ретурн из финалли.Это вам не жаба какая-нибудь.
          Ответить
          • Тот код действительно жабий - он был в книге Java Puzzlers. Ещё так можно в Python, в обоих языках возвращаемый результат перезапишется и вернётся то, что в finally.

            Но это всё-таки вещь синтетическая, а вот над запощенным ГК действительно стоит помедитировать до полного просветления.
            Ответить
            • >над запощенным ГК действительно стоит помедитировать до полного просветления.
              Это именно прямое следствие того что шарп не позволяет писать return в finally.
              Тогда можно "упростить" код:
              try {     object fieldValue = row[fieldName];
              }finally{ return false;//давит эксепшон
              }
              Такое без комментария действительно понятно не всем.

              PS А код выше - нормален. Зря плюсанул.
              Ответить
              • Эм, так тут экцепшн наружу провалится.

                P.S. Или не провалится? O_o
                Ответить
                • https://ideone.com/VBHdHI
                  Мда. Не знал, что так можно...
                  Ответить
                  • И шарп тут кстати фейлит. Могу отдельным постом.
                    Читаем код, по моей методтике:
                    Попробовать бросить что-то, но в конце концов вернуть ложЪ.
                    Ответить
                  • Тут есть тонкость.
                    http://ideone.com/hvm1M
                    Когда одно исключение закрывает другое. Шарп метит их как Unhandled. Странно.
                    В 7-ой жабе когда делали ресурсосборный try запилили Suppressed exceptions.
                    http://ideone.com/GPQdCh Не пойму почему в шарпе показывает, а жабе нет:? Раньше когда я тестил вроде было наоборот .
                    Нетрудно вообразить последствия неявного использования finally в юзинг и форыче .
                    PS Жду Тараса, радостно пляшущего на костях задавленных эксцепшенов.
                    Ответить
                  • Блин. Вот говно.
                    С using/try всё наоборот. Жаба показывает невинно задушенных, а шарп - не.
                    http://ideone.com/QqmzZa
                    http://ideone.com/YCl5I0
                    Ответить
          • >Шарпик не позволяет ретурн из финалли.
            И эксепшен тоже?
            Ответить
    • IsSourceField - а почему назввано не как функция лгущая вечно?
      Ответить

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