Jawa / Говнокод #8004 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
  18. 18
  19. 19
  20. 20
  21. 21
  22. 22
  23. 23
  24. 24
  25. 25
  26. 26
  27. 27
/*
 * Copyright 2009 Sun Microsystems, Inc.
 * All rights reserved.  You may not modify, use,
 * reproduce, or distribute this software except in
 * compliance with  the terms of the License at:
 * http://developer.sun.com/berkeley_license.html
 */


package cart.util;

public class IdVerifier {
    public IdVerifier() {
    }

    public boolean validate(String id) {
        boolean result = true;

        for (int i = 0; i < id.length(); i++) {
            if (Character.isDigit(id.charAt(i)) == false) {
                result = false;
            }
        }

        return result;
    }
}

Java EE tutorial

Запостил: ingenuus ingenuus, (Updated )

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

    • Проще было бы так:

      public boolean validate(String id) {
              for (int i = 0; i < id.length(); i++) {
                  if (Character.isDigit(id.charAt(i))) {
                      return false;
                  }
              }
              return true;
          }


      А еще лучше не использовать String для переменных которые должны быть числовыми.
      Ответить
      • С return'ом согласен.
        А на счет стринга - зависит от источника данных, потому что иначе не было бы и функций для преобразования строки в число.
        Ответить
        • Вот если бы правильный тип использовали, то и проверка не нужна бы была.
          Ответить
      • > А еще лучше не использовать String для переменных которые должны быть числовыми.
        А если это число может иметь нули в старших разрядах, которые отбрасывать нельзя? К примеру номер счета в банке или номер банковской карточки.

        Множественные точки выхода могут быть забанены в соглашении по написанию кода.
        Проверка на равенство с false вроде как говно, но зато код предельно понятен, можно как книгу читать.
        Короче говоря, код не шибко говнистый.
        Ответить
        • Нули впереди нужны только для представления. При хранении/использовании они не нужны. А с представлением прекрасно справляется String.format
          Ответить
          • Спорный вопрос. Идентификаторы часто состоят не только из цифр, и тогда наиболее логично хранить их как строки. А так получается, что идентификаторы - это идейно строки, а вот в данном конкретном случае их вдруг решают хранить как числа.
            Или вариант поинтереснее - сначала идентификаторы были только из цифр, а потом ВНЕЗАПНО заказчику захотелось заодно и букафки использовать. И что, переписывать весь код, который полагается на то, что идентификатор - это обязательно число.
            Спорно, вообще говоря

            P. S. Возможно, я несу бред, но считать идентификатор числом всегда казалось мне слегка непредусмотрительным
            Ответить
        • Если return запрещён, значит break. И ССЗБ — код стал громоздче.

          == false — довольно нетрадиционный способ показать отрицание, человеческие языки не так устроены (кроме индийского, наверное).
          Ответить
      • Значит ли это, что лабы пишут так коряво, потому в туториалах говно?
        Ответить
    • Как сказать, у меня один знакомый иногда пишет == когда надо !=. При этом он прекрасно понимает, что должно быть !=. Это как буквы переставлять в слогах слова. Есть такая болезнь. Поэтому написать явно isDigit() == false является более очевидным, чем !isDigit(). Шансы допустить ошибку уменьшаются. Я пишу слепым набором, однако частенько допускаю опечатки в "про" и "пор", хотя прекрасно понимаю, как правильно. Порой это просто "перестрахуй" =)
      Ответить
        • соглашусь, что Not иногда более очевиден, хотя лично у меня с восприятием проблем отрицания в записи через ! не возникает.

          не соглашусь с фразой "в нормальных языках"
          Ответить
          • >не соглашусь с фразой "в нормальных языках"
            [sarcasm]
            правильно, потому что должно быть "в совершенных языках"
            [/sarcasm]
            Ответить
          • Паскалоидные более нормальные, чем сишкосемейство. Да и по мощности*производительности среди них есть и сопоставимые с крестами, в то же время куда более простые и понятные.
            Ответить
              • Как? Да, плюсы относительно мощные. Правда, какой ценой эта мощность достигнута...
                Ответить
                • >Да, плюсы мощные.
                  Я думал есть хоть один человек на сайте, который полностью меня поддерживает в отношении плюсов.
                  А Тарас-то, говорят, не настоящий!
                  Ответить
                  • Плюсы такие же мощные, как старые Жигули, которым вмандили движок от Камаза, не обращая внимания на то, что крышку капота пришлось снять, на то, что мотор заслонил нахуй весь обзор и водятлу не видно ничего, и на то, что если чуть посильнее нажать на газ, то крутящий момент скрутит нахуй кузов винтом.
                    Ответить
                    • Не, в с++ два плюса, значит в движке два коленвала (да-да, бывают такие), и крутящие моменты от них уравновешены :).
                      Ответить
                          • А, тогда извините.
                            Круто, Жигули, в которые вмандили мотор от Камаза и два кардана, чтобы их не крючило нахуй от крутящего момента.
                            Ответить
                            • Вы чего то путаете. Там целых два двигателя от реактивного самолета: ++.

                              Проблема в том, что корпус и шасси жигули не выдерживают перегрузок, но если летать очень аккуратно - может повести.
                              Ответить
                                • >И в какую сторону может повести?
                                  Может повести к крестовым победам. Если быть не аккуратным, то просто развалится.
                                  Ответить
                    • Мне рассказывали, как на лодку поставили зиловский движок. Если дать чуть больше газа, лодка переворачивалась.
                      Ответить
            • Классификация языков по синтаксису оператора отрицания?
              Ответить
      • Опечатки типа "пор/про" фиксятся проверкой орфографии.
        А опечатки типа ==/!= отладчиком.
        Ответить
  • ь)K$M$C$G.O L(Y)V Y)Y(NB(V?Y$M!M"E"U)P.T)R:L(PO)C"C(A RR(P.F)I,Z$K.D:A(U)J,S$D!N(J:W$B,P W"C:J N S.Q"VM:W,E:E:N K(U,SA$E(H!M,Z?TW.C)I?R:A?V O.MW"TA(I,M"M F?B.E Q?E,M$Z.X.C"P(B(C$E)X"N!V,BA,C(U$PI)L!ZNP.I,R)E?X?O.DH:S.K)C.B.GV(TC?Z$EZ.H(H(O?ZV JG$U!L V!L B:G$U,X.B$Z?J,Q?V!N$E!PH"I?W F,X(I:K.T(I(J)D.J$TB,R.K,VX,K!Y)W?OH!C,P B T(D.J,H!O:X.A,M(Z:G"L(T!N:R?B)PD.W$N!WP!S"C Q)D?Z:L:CF:D!H)X.LKO(B(M"F"V,LU.U:E,AOH!M$K(Z.R(O!Q?X:D?N,U(C,N(F)J(Q(N W.O L?S,F:I:YD:NT(JS,Z:DC"T"P X,O?BC"X!A?A)A.U.K!EA$O,A:M"A U"S L,S T"U.I(N W,I S(K,E?G(J:RY)O?B!L)I,D)T.T:X)L?U)G HP,N)Q,T"M:T?E?LX.D.Z!T?NH:P?V:W?M,TM!Y"A(M,M JD,G"G$Q,H R.X:W.E.M$G.C W(F,JT)E!G"TC$A K$W$Y"O.D?X?W"N HB?L!V Z.C,LP!P S"FQ)UW:K.W(G?X?Z?D I!N?K)A$CK L:G M:M(M"G,G,Z:F:KK,Q:M TU$V!K(P)L?Z(FP"D M.Q?R"HF"L(F.J,J(B,U"D:Z!J$Z?HDG!B!T!M.M?K,S(UJ R N.CB!G:E:Y!F M"BXW:J$T:C,LX"Z.L,G:J T,H:U(N)F!P:ZJ$U!J E.ZT V S X?Y?G!E"B$O.Z:S,V.C?D D:D S"MJ"M!T(Z.Q"S,L?X K$R:X!W!L$G?G(M O Z?S:Q,M)P(B(H?I:U.C Q$O I:S(C$L?R?P)N!H,P,C(X,V"D)F C"N!D Y.Z$O$H.S:K!E F"N$W(Z!J?A,B.M)Q.J B.J$ZФIDBDFHRCQTUDWGVGYWUDDKZXFBQFQUJYBIKLEGFNRNEOCEWMQIQVOCUNHOPZMNBAAXDZMLZBEUSKWUPMCIQBZHODXRABYSFYCNSVHIAMBPQVRHJPOGTQNPSDPKNSCHIHAODSBMILEJGWYJWDHAUIARXYXDUKCMKEQCNXMVOHJPKZAZIUOEVRBUGIMKISCEJMNNIUKVIQDNRDNOYPPOPKSOHJIRFCSTMPEEDAWVQJJVTSXQGI
    Ответить

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

Помни, guest, за тобой могут следить!

    А не использовать ли нам bbcode?


    8