1. Java / Говнокод #11973

    +73

    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
    14. 14
    15. 15
    public String getText()
    {
            // don't ask me what these charset tricks mean :)
            String str = null;
            try
            {
                str = new String(doc.getText(0, doc.getLength()).getBytes("Cp1252"), "Cp1251");
            }
            catch(Exception e)
            {
                // Leave str as null
            }
            
            return str;
    }

    ...

    Запостил: roman-kashitsyn, 22 Октября 2012

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

    • А ну бывает такое. Кроссплатформенный код решает ШИНДОШС-ПРОБЛЕМЫ
      Ответить
    • // Удаление всяких левых символов
      Ответить
    • > String str = null;
      Вот же бедолаги. А чем он инициализируется по умолчанию?
      Ответить
      • локальные переменные нужно инициализировать самому
        Ответить
        • нахрена? налл по дефолту у ссылочных переменных.
          Ответить
          • ПРИШЛО ВРЕМЯ ИНИЦИАЛИЗИРОВАТЬ ПЕРЕМЕННЫЕ
            ПЕРЕМЕННЫЕ САМИ НЕ ПРОИНИЦИАЛИЗИРУЮТСЯ
            ПРОИНИЦИАЛИЗИРУЙ ИХ, ПРОИНИЦИАЛИЗИРУЙ ИХ ЕЩЕ РАЗ
            ...

            http://ideone.com/pbMyAc
            Дефолты (null для ссылок, false для булов, 0 для чисел), емнип, работают только в членах класса и статиках.
            Ответить
            • ЖАБАПРОБЛЕМЫ
              Ответить
            • А я бы вообще запретил. Не нравится мне такое.
              Потому что не хочу помнить в каком языке что ставится по дефолту.
              Явное лучше скрытого. А всё скрытое рано или поздно становится явным.
              Другое дело: сраная конструкция try-catch. В божественном Nemerle таких проблем не возникает.
              def getText = try new String("blah-blah")
                      catch { | Exception() => null };
              Ответить
              • > try new String
                Попробовать новую строку...
                Ответить
                • Попробовать [породить] новую строку.
                  Ответить
                  • Test *p = new Test(); // я тебя породил
                    delete p; // я тебя и убью
                    Ответить
                    • delete new Test(); // куча, ты смешная, ахахах, прекрати
                      Ответить
                      • Имеет смысл, если в цеторе или деторе что-то умное.
                        Ответить
                        • К примеру создать файл и закрыть его?
                          Ответить
                          • Что-то более умное.
                            Ответить
                            • как? еще более умное?
                              перегруженные operator new и operator delete?
                              Ответить
                              • Ага, new соединяется с базой и рассчитывает зарплаты, delete заваривает чай в USB чайнике.
                                Ответить
                              • Нетривиальные действия с цеторе и деторе, ты ёба читать умеешь?
                                Ответить
                                • Создать файл и закрыть его это, ёба, уже тривиально?
                                  Ответить
                                  • Молодёжь нынче пошла... Для них уже C - низкоуровневый язык... (c)
                                    Ответить
                                    • Pages in category "Low-level programming languages"
                                      
                                      The following 3 pages are in this category, out of 3 total. This list may not reflect recent changes (learn more).
                                      C
                                      C (programming language)
                                      R
                                      User:Rajisveer
                                      T
                                      TMG (programming language)
                                      wiki (c)
                                      Ответить
                        • кстати, почему так не покатит (кроме того, что оптимизатор может выпилить):
                          { 
                              Test t();
                          }
                          Ответить
                          • Ты объявил функцию. Говнокод в назидание:
                            http://govnokod.ru/11600
                            Помнить вечно.
                            Ответить
                          • Не должен выпиливать.
                            Ответить
                            • Ну тогда подёргивать кучу не нужно
                              http://ideone.com/04Lnkn

                              Правда, всё равно говно получается
                              Ответить
    • а случаем это все не deprecated?
      Ответить

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