Strings

[quote=drsmachado][quote=JavaDreams]
Eu discordo de você também.

Se pegar o Livro Java Use a Cabeça
ele já começa de cara falando que você não tem que preocupar como o objeto funciona internamente, ou seja:
a) em um equipe de desenvolvimento a pessoa não tem que saber como a sua classe funciona internamente
b) ela tem que saber o método certo a chamar
c) o resto deixar com a classe
[/quote]
E…?

Eu sequer uso duas linhas, mas isso não significa que o exemplo colocado está errado. Você foi ofensivo, criticou o que ele fez só por que está diferente do que você faria.

Isso se chama conhecer o mínimo de orientação a objetos. Se você não se recorda, objetos trocam mensagens entre si e estas mensagens são enviadas, recebidas e processadas através dos métodos.

E daí? Não é por que você come McDonald`s que todos devam fazer isso, não acha?

Isso na tua visão e, dentro do que eu conheço e vivenciei, está errado. Essa definição não é feita a partir do que um ou outro desenvolvedor acham mais adequado. Estas classes normalmente são criadas por arquitetos e seguem uma padronização, uma convenção.

Você não pode comparar as tuas experiências pessoais às de ninguém, ou você acha que o mundo gira ao teu redor?

Sim, está usando um discurso longo e desnecessário também. Cada um tem um ponto de vista e você está expondo a tua, mas não significa que a dele esteja incorreta. Você tem o direito de discordar, mas não de atacá-lo como fez.

Sim, se não está errada, simplesmente considere que você tem a tua e as demais pessoas podem ter as delas.

Cara, pense comigo, o método charAt(int posicao) é um método estático e pode ser utilizado por qualquer instância de objeto da classe String, logo, nem a tua resposta é adequada. Agora, só por que as pessoas tem visões diferentes da tua, não significa que seja errado fazer isso.

Novamente eu pergunto, e…?
“O código fica feio, bobo e chato!”. “Martin Fowler disse isso, na página x, do capítulo y, do livro…”. Se eu bem me lembro, você mesmo disse, citando o “maravilhoso” java use a cabeça que

Logo, você mesmo se contradiz neste ponto. Lembrando que o Java, use a cabeça é um dos livros mais indicados para quem está iniciando no desenvolvimento java, logo, não é conhecido por primar pelas convenções e pelas boas práticas de desenvolvimento. Pode até utilizá-las, mas não é este o foco.

Sabe o que eu penso quando alguém tenta argumentar de forma lógica e cita um terceiro? Que esta pessoa não tem capacidade para manter seus argumentos, de provar isso. Você está agindo como um pastor que frente à uma afirmação cientificamente lógica e óbvia, cita a bíblia para se defender. “Vão queimar no inferno”.

[quote=JavaDreams]
Mas isso vai de cada um e para mim render assunto nesse tema é igual SOPA e PIPA
no final acaba como time de futebol…

Desculpem os argumentos mas acho que tenho todo o direito de discordar
de algo que foi dito sem ter embasamento comprovado.

Vou desmarcar o aviso de novos posts para esse aqui pois acho desnecessário discutir isso
já que foram dadas duas soluções, bastando o autor do post ver qual a que ele vai querer usar.

abraço.[/quote]
O melhor que você pode fazer é isso.[/quote]

Agora entendo o motivo porque você tem mais de 7000 mensagens.
Sempre você fica procurando um meio para afrontar os usuários do fórum.

Você disse que eu pareço pastor de igreja, mas você que está pegando várias partes isoladas da conversa
para tentar ter razão.

Isso sem falar que no final das contas você disse disse e não falou de onde
tirou seus argumentos que citou ser os primórdios da OO e de convenções.

Sem falar que distorceu o que eu disse.

Uma coisa é a pessoa que vai usar o objeto não precisar saber como as coisas
funcionam dentro dele.

Outra coisa é vc ter um método que executa 5 operações e outro que executa 7
pois a princípio parece ser pequena a diferença, mas se pegar uma empresa que
tem 500 mil ou 1 milhão de transações sendo feitas?

Por isso que chamei a atenção para o cuidado de não colocar chamadas ou processos
desnecessários.

Mas uma coisa que me incomoda é a falta de respeito que você tem com um monte de usuários aqui
no fórum e até hoje vc não foi expulso!

O que adianta ter mais de 7000 msgns se você só fica respondendo Post
sem dar solução?

Meio que incoerente isso, não acha?

[quote=drsmachado][quote=andy11x] public static void main(String[] args){ String nome = "andrade84"; System.out.println(nome.charAt(0)); } [/quote]
Sinceramente, eu queria entender de onde é que o JavaDreams tirou que isso está errado.[/quote]

Em algum momento eu disse que está errado?

O que eu disse primeiro foi que tem várias maneiras de fazer isso.

Depois eu critiquei uma maneira apresentada, colocando o meu ponto de vista,
coisa que é garantida por regra do fórum, ou seja estou dentro das regras.

Agora se você não concorda então o que você faz aqui no fórum?

Já vi um monte de posts teus onde você só insulta as pessoas…

Com certeza algum adm vai lhe penalizar pelos insultos que andas a fazer por aí.

Eu mesmo já tenho alguns links teus ok?

[quote=drsmachado][quote=JavaDreams]
O problema é que ironia é sinônimo de deboche para algumas pessoas.
Você tem todo o direito de criticar uma pessoa assim como também deve saber
a receber críticas.

O próprio nome diz… Fórum
ou seja espaço para opinarmos ou não.

Comentários do tipo que você fez em
“…Só espero nunca pegar uma Classe sua para fazer manutenção… Pois com certeza vou querer saber onde você Mora…rsrsrs… Abraços…”

podem ser encarados como falta de respeito por pessoas mais sérias.
no link abaixo:
http://www.guj.com.br/java/139754-regras-do-forum

tem a seguinte regra: "Você aceita não postar qualquer mensagem abusiva, obscena, vulgar, insultuosa, de ódio, ameaçadora, sexualmente tendenciosa ou qualquer outro material que possa violar qualquer lei em vigor. Isto conduz à sua expulsão imediata e permanente. "

Assim o que você disse mesmo que foi por brincadeira, pode ser levado como abusivo, vulgar ou insulto.

Lhe dou total liberdade para questionar ou criticar alguma solução que eu vier a dar, mas comentários
com duplo sentido acho que devem ser guardados para pessoas que façam parte de sua família ou ambiente familiar.

No fórum temos que ter respeito uns pelos outros
e como eu disse no meu post desde o início, sua solução não está errada
pois funciona. Mas não seria a melhor aplicação para esse caso.

Por isso peço por gentileza que guarde essas frases para pessoas em ambiente familiar
pois me senti ofendido quando você usou de ironia.

Abraço e sucesso.[/quote]
Hum e isso é o que:

Carinho? Respeito?[/quote]

Isso foi em resposta às duas linhas do post abaixo que ele disse na mensagem abaixo usando ironia com ar de deboche:[u]

[quote=andy11x][quote=JavaDreams][quote=andy11x][code]
public class Ferramentas{

private String frase;  

public void setFrase(String frase){
    this.frase = frase;        
}

public char getLetra(){
    return frase.charAt(0);
}

@Override
public String toString(){
    return "Método que retorna a primeira letra da Frase....."; 
}   

}
[/code]

public class TesteFerramentas{

   public static void main(String[] args){ 
      String frase = "Sempre é recomendavel utilizar Setter e Getter";
      Ferramentas obj = new Ferramentas();        
      obj.setFrase(frase);
      System.out.println(obj.toString() + "\n" + frase);
      System.out.println("Primeira letra da Frase é: " + obj.getLetra());
   }    
}

[/quote]

No caso citado não é necessário utilizar set e get, pois não estamos lidando
com encapsulamento dentro da classe Ferramentas, ou seja
não temos uma variável de instância dentro da classe Ferramentas nem tão pouco
não temos criação ou referência a objetos sendo feito dentro da classe Ferramentas
nem variáveis de nenhum outro tipo.

Pela definição em livros como Java Use a Cabeça ou Java Como Programar
mostram que set e get servem para fazer encapsulamento.

Como não precisaremos manter nenhum valor ou objetos então faz-se desnecessário
o uso de set e get, pois o papel dos métodos é somente receber um valor e devolver
uma resposta.

Bom eu particularmente não posso falar que a solução acima é errada, pelo contrário é válida
mas no entanto fora de convenção e por isso pode correr o risco de fazer assim em alguma empresa
e confundir outros programadores que irão querer sua cabeça rsrs

Recomendo leitura do Java Use a Cabeça
e depois também do Java Como Programar
ambos na parte sobre orientação a objeto, encapsulamento e herança.

Abraço.[/quote]

Pela definição em livros como Java Use a Cabeça ou Java Como Programar…rsrs Me desculpe Amigo sou novato e tenho um grande caminho
pela frente… Só espero nunca pegar uma Classe sua para fazer manutenção… Pois com certeza vou querer saber onde você Mora…rsrsrs… Abraços…[/quote]

[b]Por favor gostaria de algum Adm acompanhar as mensagens que o user drsmachado está escrevendo.
Entendo que uma vez ou outra cometermos erros e não ter paciência em ajudar as pessoas, seja normal
pois somos seres humanos.

Mas o que o usuário drsmachado está fazendo com vários outros usuários é muita falta de respeito.

Pois ele está entrando nas discussões somente com o intuito de gerar confusão.
É raro ver esse usuário ajudando de fato, e agora a pouco foi ao cúmulo de dizer no post abaixo que o
novato autor do post não poderia aprender aqui no fórum, que ele devia antes era fazer um curso
java, dentre outros insultos que deixo o post falar por si próprio.
[/b]

Link do post
http://www.guj.com.br/java/303871-desvantagens-em-usar-return-vazio-em-metodo-void

post

[quote=drsmachado]Sinceramente, por que você não faz um curso de java? Cara, você tem uns trocentos tópicos abertos, a maioria seria facilmente respondida com um pouco mais de estudo.
Há uma convenção não oficial que diz que você deve ter apenas um return em cada método. Se ele é void, deve-se evitar o mesmo.
Por que?
Quando você usa isto

if(!condicao1){
    return;
}

if(!condicao2){
    return;
}

if(!condicao3){
    return;
}

Poderia fazer

if(condicao1){
    //Faz algo relacionado a condicao1
}

if(condicao2){
    //Faz algo relacionado a condicao2
}

if(condicao3){
    //Faz algo relacionado a condicao3
}

E, se nenhuma condição for atendida, simplesmente sai do processo.
“Ah. mas e quanto a mensagem de erro?” Com o que você apresentou antes, também não havia tratamento.
Outro ponto, uso excessivo de if`s torna teu código muito estruturado e, sendo assim, o ideal seria não fazê-lo como void, mas como int, dependendo do que ocorrer, retorna 0 (execução normal) ou um valor negativo (indicando erro).[/quote]

Por favor peço que algum moderador ou administrador acompanhe os posts desse usuário pois pude constatar
outros usuários se sentindo ofendidos com algumas respostas que o mesmo está colocando.

Eu sei que não sou perfeito e que também estou passível de cometer erros,
mas acredito que o user drsmachado já passou dos limites, não merecendo
fazer parte dessa ótima comunidade, pelo fato de ter milhares de mensagens
mas em muitas não ter paciência.

Bom essa é minha opinião e meu pedido, mas não sou dono do fórum, sendo assim
não posso obrigar ninguém a nada, mas me sinto no dever de denunciar abusos de certos membros.

Quando se fala em convenções, precisa mesmo citar fonte?

Acredito que todo programador que diz saber programar Java deve conhecer as fontes.

Pesquisando “java conventions” no Google o primeiro link é esse: http://www.oracle.com/technetwork/java/codeconv-138413.html

Diretamente da fonte, sem lero lero…

[quote=Ruttmann]Quando se fala em convenções, precisa mesmo citar fonte?

Acredito que todo programador que diz saber programar Java deve conhecer as fontes.

Pesquisando “java conventions” no Google o primeiro link é esse: http://www.oracle.com/technetwork/java/codeconv-138413.html

Diretamente da fonte, sem lero lero…[/quote]

Entendo seu ponto de vista e até apoio o fato de não ficar com muito lero lero…

Mas amigo o problema é que a gente está vendo por aí um monte de pessoas
que mesmo que não estejam mal intencionadas, estão dizendo qualquer tipo de coisa
e no final para tentar ter crédito chega e cita “segundo a convenção”.

Eu também tenho conhecimento da base de dados mas tomo muito cuidado
quando uma pessoa dá uma resposta e simplesmente cita que é de convenção.

Por outro lado tento citar livros que mesmo sendo de nível iniciante, tem umas boas afirmações.

Abraço.

[quote=JavaDreams][quote=Ruttmann]Quando se fala em convenções, precisa mesmo citar fonte?

Acredito que todo programador que diz saber programar Java deve conhecer as fontes.

Pesquisando “java conventions” no Google o primeiro link é esse: http://www.oracle.com/technetwork/java/codeconv-138413.html

Diretamente da fonte, sem lero lero…[/quote]

Entendo seu ponto de vista e até apoio o fato de não ficar com muito lero lero…

Mas amigo o problema é que a gente está vendo por aí um monte de pessoas
que mesmo que não estejam mal intencionadas, estão dizendo qualquer tipo de coisa
e no final para tentar ter crédito chega e cita “segundo a convenção”.

Eu também tenho conhecimento da base de dados mas tomo muito cuidado
quando uma pessoa dá uma resposta e simplesmente cita que é de convenção.

Por outro lado tento citar livros que mesmo sendo de nível iniciante, tem umas boas afirmações.

Abraço.[/quote]

Qual a diferença entre citar convenções ou citar livros?

Independente de qual for a citação, o interessado vai ter que consultar a convenção Java ou o tal livro pra comprovar…

Enfim, desculpe a intromissão no assunto. Vou parar por aqui, já desvirtuou total do assunto central do tópico.

oi pessoal

vamos evitar o flame e nos ater a discussao tecnica

valeu

[quote=Ruttmann][quote=JavaDreams][quote=Ruttmann]Quando se fala em convenções, precisa mesmo citar fonte?

Acredito que todo programador que diz saber programar Java deve conhecer as fontes.

Pesquisando “java conventions” no Google o primeiro link é esse: http://www.oracle.com/technetwork/java/codeconv-138413.html

Diretamente da fonte, sem lero lero…[/quote]

Entendo seu ponto de vista e até apoio o fato de não ficar com muito lero lero…

Mas amigo o problema é que a gente está vendo por aí um monte de pessoas
que mesmo que não estejam mal intencionadas, estão dizendo qualquer tipo de coisa
e no final para tentar ter crédito chega e cita “segundo a convenção”.

Eu também tenho conhecimento da base de dados mas tomo muito cuidado
quando uma pessoa dá uma resposta e simplesmente cita que é de convenção.

Por outro lado tento citar livros que mesmo sendo de nível iniciante, tem umas boas afirmações.

Abraço.[/quote]

Qual a diferença entre citar convenções ou citar livros?

Independente de qual for a citação, o interessado vai ter que consultar a convenção Java ou o tal livro pra comprovar…

Enfim, desculpe a intromissão no assunto. Vou parar por aqui, já desvirtuou total do assunto central do tópico.[/quote]

Não é uma questão de diferença.

Livro é mais fácil comprovar se é verdade ou não, pois a maioria das pessoas os lê.

Convenção é mais completo pelo fator de existirem mudanças ao decorrer do tempo.

Mas não dá para saber uma receito de bolo, o ideal é ficar atento para as respostas que vemos por aí.

Mas acho sua opinião importante também pois mesmo que não está direcionada direto no post
ela tem relacionamento com o assunto também.

abraço

E pensar que todo problema se deu por que alguém considerou a invocação do método charAt(int posicao) da classe String, uma maneira inadequada de resolver o que o autor do tópico queria.
Eu me pergunto, quais convenções, quais livros e quais autores seriam tão xiitas a ponto de ignorar a existência do método charAt e exigir que fosse criada uma classe que tivesse, entre outros, um método que retorne a primeira letra de uma String…
Sinceramente, eu nunca vi (são 4 anos de java, mais alguns de C e outros de PHP) ninguém, em nenhum projeto, ignorar o charAt, toUpperCase, toLowerCase, equals, equalsIgnoreCase ou outro método mais sensato e direto, em prol de um método que faz a mesma coisa, mas que está colocado de forma mais organizada.
Mas, de repente, essa minha experiência tenha sido inútil. Talvez alguém tenha que perder tempo (re) criando a roda. Afinal, por que usar o que a linguagem já disponibiliza, não?
Aliás, por que tornar mais fácil o processo, pois é muito mais intuitivo lembrar (e, também, pesquisar) como funciona um método da classe String, do que recordar alguma classe de algum projeto que faça o que eu preciso.
“Se todos pensassem assim, não teríamos frameworks”. Sim, é uma análise válida. Mas, todo framework está baseado em algo que existe e que poderia (talvez tenha sido) ser melhorado. ORM? IoC? DI? MVC? Web? Todos eles seguem proveem uma série de melhorias ao que existia. Não, não é o caso.
Bom senso? Para quê, não?