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

    +87

    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
    16. 16
    17. 17
    18. 18
    19. 19
    /**
     * The Time class is a faster replacement for the java.util.Calendar and
     * java.util.GregorianCalendar classes. An instance of the Time class represents
     * a moment in time, specified with second precision. It is modelled after
     * struct tm, and in fact, uses struct tm to implement most of the
     * functionality.
     */
    public class Time {
    
    ...
    
        /**
         * Year. TBD. Is this years since 1900 like in struct tm?
         */
        public int year;
    
    ...
    
    }

    Android 1.5. TBD в публичном API официального SDK - это пять. Ну мы ещё подумаем, как нам нравится, а вы пока просто посмотрите в дебаге! Гы.

    Запостил: yvu, 07 Июля 2010

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

    • TDB==подлежит последующему уточнению?
      Ответить
    • * The Time class is a faster replacement for the java.util.Calendar and
      * java.util.GregorianCalendar classes
      "да ты шо? а не пиздишь?" (ц)

      * An instance of the Time class represents
      * a moment in time, specified with second precision.
      да? а чем long "unix-timestamp" может быть медленней его обертки?

      public int year ...
      ой, а это случайно не реинкарнация java.util.Date, который давно уже deprecated? подозрительно, очень подозрительно напоминает...
      если так, то я хуею, дорогая редакция, за переизобретение колеса. Гуглу явно не дают спать лавры экс-Сана...
      Ответить
      • >>>который давно уже deprecated?
        ну не совсем, скорей наполовину ))
        лично я использую его как обертку для таймштампа

        >>>Гуглу явно не дают спать лавры экс-Сана...
        гугл явно нанял code-moneyks на эту часть проекта
        кстати в исходниках жабы тоже по части дат говнецо попадается - там где толи индус толи китаец писал
        Ответить
        • да, наполовину. Но лично меня он устраивает больше этих навороченных Календаров, чихал я на локали. Особенно с их этими извратами типа Calerndar.getCalendar() и calendar.setField(Calendar.MONTH, 3)

          неутешительные выводы - среди программистов вообще, наверное, 95% "индо"-кодеров и только 5% действительно толковых
          Ответить
          • >>>Но лично меня он устраивает больше этих навороченных Календаров.Особенно с их этими извратами типа Calerndar.getCalendar() и calendar.setField(Calendar.MONTH, 3)
            +1

            >>>среди программистов вообще, наверное, 95% "индо"-кодеров и только 5% действительно толковых

            так это известная истина ))
            http://ru.wikipedia.org/wiki/Закон_Старджона
            Ответить
            • обратно тому, что "миллионы мух не могут ошибаться". Думаю, это не закон как физический, а либо целенаправленная политика, либо просто лень человеческая
              Ответить
          • joda-time спсасьот отца руSSкой демократии
            Ответить
      • мьютэбл класс Time это пять
        Ответить
        • Да любой мьютэбл-класс - это опять.

          Но чем же не угодил time, и почему именно он должен быть иммьютэбл?
          Ответить
          • Блох писал почему это плохо, особенно в случае date.
            Поясню своими словами:

            void showUser(User user) {
            System.out.print(user.getName());
            user.getBirthDate().setMonth(1); //бомба замедленного действия
            }


            лечится возвращением копии (читай "засиранием кучи")
            Ответить
            • А если я хочу именно что менять месяцы? Тогда тоже нужно будет копировать. И что?

              > лечится возвращением копии (читай "засиранием кучи")

              Лол, это в языке-то, где Point2D выделяется на куче?

              Вообще иммьютебльность как раз и предполагает засирание кучи. Форсированное. В то время как мьютабельность позволяет засирать кучу под контролей программиста.
              Ответить
              • Вы не можете сделать свой объект неизменяемым, если у Вас есть поле типа Date, только если будете возвращать его копированием.

                В 80% случаев Вы не хотите что бы кто-то снаружи менял месяцы у поля Вашего объекта.
                Ответить
                • Хорошо, тогда мы согласимся насчёт того, что Блох предлагает КОСТЫЛЬ к кривой в этом плане семантике Java.

                  Да и что плохого в копировании? Вполне в духе Java - не считать память. А заоптимизируют всёравно в один long (если объектов сотни тысяч).
                  Ответить
                  • >>Хорошо, тогда мы согласимся насчёт того, что Блох предлагает КОСТЫЛЬ к кривой в этом плане семантике Java.

                    Да, потому что класс Date они сделали с дуру (тогда опыта ни у кого не было) а потом обратная совместимость запретила его удалять. И Блоха это печалит.

                    >>Вполне в духе Java - не считать память.
                    да-да, джава говно и тормозит и занимает гиги памяти, а риальне пацаны все напишут на ассемблере
                    Ответить
                    • >>>.да-да, джава говно и тормозит и занимает гиги памяти, а риальне пацаны все напишут на ассемблере

                      xD, многие на яве толково не начились писать
                      из-за сложности кодинга на асме и прямой работы с памятью можно такое говно слепить, которое мало того что медленее явы будет работать, да еще память будеть течь крайне жестоко
                      Ответить
                    • сам по себе иммутабельный класс Дата был бы, так скажем, неполным. Часто приходится (скажем с контролом календарика) выбирать дату. Если бы Дата была бы иммутабельной, тогда что, каждый раз рожать новый инстанс? А вот интерфейс бы только с геттерами бы не помешал
                      Ответить
    • Вообще такое ощущение, что АндроидСДК делали в спешке.
      Ответить
      • Потому что андроид на жабе.
        Ответить
        • жаба - это как бы оправдание?
          Ответить
        • Жаба это как раз показатель "спешочности", ящитаю. Не успевали собственную систему классов забабахать - слямзили всё быстренько с жабы.

          "Мы хотели, чтобы программисты, знакомые с явой, значли уже что где" - это, ящитаю, уже позднее маркетологическое оправданье.
          Ответить
          • а то железо на котором оно планирeтся исполнятся будет заточеное под жабу - это показатель чего либо?
            Ответить
        • А на чем написали бы Вы?
          на php?
          Ответить
          • кто-то слева нашептывает С++?
            Ответить
            • отличный выбор)
              Ответить
            • А что нашептывают справа? Традиционно лучше верить ему!
              Ответить
              • Вот уж не слышал, что-бы Ангелы советовали хороший язык программирования... А может послушать обоих и выбрать равновесную золотую середину?
                Ответить
              • Запомни. Языки программирования - это от лукавого.
                Ответить
                • Как мне помнится, по мнению Джона Ди, творение было актом исчисления.

                  Так что все-таки лисп хороший, годный ЯП, я щитаю:)
                  Ответить
              • а как же блек-джек и шлюхи? справа этого не предложат!
                Ответить
                • В локализованной версии это будут вертепы с праведницами!

                  Вертеп типа crêche, конечно, а не в нашем уничижительном нынешнем понимании!
                  Ответить
      • ну надо же толкнуть что-то гламурное и на скорую руку
        Ответить
      • а вы посмотрите на все их продукты, хром - клепали ударными темпами
        VP8 - вроде 5 лет делали, а некоторые баги софта пошли в спецификацию(прям как ИЕ6) и по сжатию сопоставимо с Xvidom итд..
        Ответить
        • > некоторые баги софта пошли в спецификацию
          и стали зваться фичами
          Ответить

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