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

    +69.9

    1. 1
    2. 2
    3. 3
    public void ejbPassivate() throws EJBException, RemoteException {
    		return;
    	}

    Истинный китайский девелопер никогда не доверяет компилятору! Ато если ж в функции тело пустое, мало ли, вдруг она никогда не возвратиться. Какой выход? Написать об ентом явно.

    Запостил: cheap_chinese, 12 Августа 2009

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

    • а вдруг ядерный взрыв? а тут return спасет :))
      Ответить
    • А я по жизни пытаюсь следовать многим указаниям, как например:
      1.) Писать комментарии; // Это, правда, плохо получается
      2.) Не использовать goto;
      3.) Всегда делать return.

      Другими словами, когда я создаю функцию, прежде чем начать писать её тело я сразу вписываю что-нибудь вроде "return 0;".
      Ответить
      • Если не секрет, а зачем return в пустой функции void? Темболее если чё, то компиляторы имеют свойство материться фразой: "Not all code paths return a value". А по поводу комментариев, надо бы запретить их писать символами не из базового набора ASCII, т.е. 0-127. А то вот китайцы так старательно их пишут, что глядя на ету абракадабру хочется запустить в аффтора чем нить тяжелым.
        Ответить
        • 1.) Это чисто эстетический return, который всё-равно уберёт компилятор при компиляции.
          2.) По поводу ругани не понял, у меня с "return;" в void-функции gcc не ругается (и собственно и не должен).
          3.) По поводу комментариев я тоже не понял... я и не использую никакие символы в код в комментариев кроме 0x00-0x7f. Или то было сказано так, между делом? :)
          Ответить
          • 1) бедный компилятор :)
            2) Код на Java, gcc ни при чём.
            3) смею предположить, что речь об комментариях на китайском языке, которые вообще не прочитать. Поэтому было предложено запретить комментарии с NON ASCII символами
            Ответить
            • +1, you got me right:)
              Ответить
            • 1.) Ой, поверь, компилятору на пору порядков хуже, когда например вместо Сишного кода ему надо компилировать С++
              2.) Да, но я не вижу причины ругаться в void функции при void-return-е.
              3.) Речь было просто о комментариях :), я честно говоря, вообще не уследил из-за чего речь пошла про коментарии на китайском языке.
              Ответить
              • Боже, какой у меня кривой язык с просони:

                пору => пару;
                было => была;
                коментарии => комментарии.
                Ответить
          • 2)По поводу ругани: я имел в виду что правило всегда писать return в джаве ни к чему(ето не С(НЕ С++! Обращаю внимание), в котором типо если функция не void и в ней нету return, то она типо по умолчанию возвращает 0). Ибо если его гдето не хватает то компилятор выдаст вышенаписанное сообщение. А насчет эстетичности ретурна в данном случае могу сказать, что "краткость - сестра таланта" - явно не девиз аффтора. Ну иле ему за каждую строчку лишние граммы риса досыпают, а жрать то однако хочетсо:)
            Ответить
            • Да, я вижу, что это не Си, тем ни менее, основываясь на своём опыте на Си не считаю данный "return" говнострокой. Вероятно, я просто не понимаю каких-то обычаев в миру Java, ибо на Java я никогда не писал, т.ч. Вам, конечно, виднее (это не сарказм). :)
              Ответить
    • ой ребята сколько ругани. один раз нажать кнопочку "зачистить код" и все ретурны юзинги и прочая хуйня улетучивается.
      Думается у них кикието соглашения типа писать ретурн во всех функциях
      а вот зачем это уже вопрос отдельный видать мы тупые не догоняем где это помогает.
      может тут есть кто расскажет нам почему надо писать ретурн?
      Ответить
      • Да нет у них никаких соглашений - обычные раздолбайские кодеры с минимальным знанием языка :)
        Ответить
        • да ладно вам. лишняя мусорная строчка. куда уж лучше чем "кулхацкерские" высеры в одну строку типа
          for(int i=10; i-->0;) n+=i%2==0?i:k;

          или небрежно забытое создание неиспользуемого инстанса. :-)
          Ответить
    • А может метод исчез из-за какого-нить рефакторинга и его попросту забыли убить.
      Т.е. метод когда-то что-то делал, а теперь остался заголовок.
      Ответить

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