Fadiga mental

64 respostas
F

Existe alguma profissão que seja tão mentalmente desgastante quanto ao de programador/analista de software?

64 Respostas

U

Sim, a vida de um “Romântico!”!
A de não fazer nada e fica pensando o que fazer!
kkkkkk
mais não se compara com a nossa de Programador!
vlw

V

Engenheiro? Médico? Executivo? Controlador de tráfego aéreo?

R

Ainda acho programador pior…

M

Não deve ser fácil ir pra ação estando em alguma força armada, ficar pensando em poder levar um tiro não é legal.

N

Concordo com o Vini, acho q umas são até mais que programador/analista, imagina Controlador de tráfego aéreo como citado pelo Vini, um erro dele pode colocar em risco a vida de centenas de pessoas, deve ser muito desgante.

[]s

R

A diferença é que essas profissões sao regulamentadas e os caras nao tem que trabalhar 8 horas por dia… igual sao os programadores…

E o programador 100% do tempo tem que ficar pensando em lógica… e essa lógica sempre tem que dar certo… se nao o programa nao funciona…

O engenheiro faz um calculo para sobrar estrutura… por exemplo … se é pra uma ponte aguentar 5 toneladas… ele já calcula pra suportar 10 … e é claro que ele deve usar programas de computador pra fazer isso :smiley:

O médico… também depende… quem dá consulta por exemplo nao estressa tanto assim… talvez tenha um caso ou outro… de um paciente com um problema mais especifico que necessite estudo… na programaçao tem que estudar todo dia

O controlador de tráfego… praticamente tudo é controlado por computador… ele só le o que tá na tela… e fala: vai bater… de acordo com os dados na tela…

Entao eu ainda acho que a profissao que mais tem que ficar pensando o tempo inteiro… é a de programador… e isso cansa a cabeça…

A questão da responsabilidade aí já sao outros 500…

J

Gerente de Rede…
Deve ter uma empresa buzinando nas costas dele o dia todo.

C

Dependendo do software que você está desenvolvendo você pode matar alguém também. Por exemplo, software hospitalar que resolve a medida que um paciente deve tomar de algum remédio ou injeção, se a quantidade de algo estiver errado… já sabe.

Já pensei a respeito do cansaço mental, a solução é uma carga de trabalho menor. Conversando com alguns amigos, chegamos a conclusão que nós realmente somos produtos, de efetivamente fazer algo acontecer por algumas horas no dia. 6hrs por dia são mais que suficientes p/ fazer um bom trabalho sem enrolar, focado e concentrado, mais que isso é besteira.

Outro ponto a ser levado em consideração é que as empresas que fazem algum tipo de atividade com os funcionários ganham MUITO não só em produtividade, mas nos outros aspectos como humor, bem estar… trabalhei uma vez numa grande empresa que tinha ginástica laboral, dávamos risadas e relaxávamos por 20min, 30min… era o suficiente p/ animar a turma. Já em outras o pessoal faz Yoga…

Trabalhar precisa parar de ser esse sofrimento de passar 8, 10hrs sentado numa cadeira olhando pra uma lâmpada acessa apertando botão no teclado q nem macaco! (heheh)

U

Qualquer profissional pensa!

vlw

F

Existem tantas cara… Você não carrega peso, não tem a vida de uma pessoa nas suas mãos, não tem que sentir o cheiro de lixo o dia todo, não tem que pegar um sol escaldante… Sua profissão não é tão difícil quanto parece :smiley:

R

converge:
Dependendo do software que você está desenvolvendo você pode matar alguém também. Por exemplo, software hospitalar que resolve a medida que um paciente deve tomar de algum remédio ou injeção, se a quantidade de algo estiver errado… já sabe.

Já pensei a respeito do cansaço mental, a solução é uma carga de trabalho menor. Conversando com alguns amigos, chegamos a conclusão que nós realmente somos produtos, de efetivamente fazer algo acontecer por algumas horas no dia. 6hrs por dia são mais que suficientes p/ fazer um bom trabalho sem enrolar, focado e concentrado, mais que isso é besteira.

Outro ponto a ser levado em consideração é que as empresas que fazem algum tipo de atividade com os funcionários ganham MUITO não só em produtividade, mas nos outros aspectos como humor, bem estar… trabalhei uma vez numa grande empresa que tinha ginástica laboral, dávamos risadas e relaxávamos por 20min, 30min… era o suficiente p/ animar a turma. Já em outras o pessoal faz Yoga…

Trabalhar precisa parar de ser esse sofrimento de passar 8, 10hrs sentado numa cadeira olhando pra uma lâmpada acessa apertando botão no teclado q nem macaco! (heheh)

Falou bem… nao gosto de trabalhar 8 horas também nao… acho que nao compensa… e nas ultimas 2 horas… vc só faz alguma coisa mal feita que vc vai ter que consertar no dia seguinte…

U

rogelgarcia:
converge:
Dependendo do software que você está desenvolvendo você pode matar alguém também. Por exemplo, software hospitalar que resolve a medida que um paciente deve tomar de algum remédio ou injeção, se a quantidade de algo estiver errado… já sabe.

Já pensei a respeito do cansaço mental, a solução é uma carga de trabalho menor. Conversando com alguns amigos, chegamos a conclusão que nós realmente somos produtos, de efetivamente fazer algo acontecer por algumas horas no dia. 6hrs por dia são mais que suficientes p/ fazer um bom trabalho sem enrolar, focado e concentrado, mais que isso é besteira.

Outro ponto a ser levado em consideração é que as empresas que fazem algum tipo de atividade com os funcionários ganham MUITO não só em produtividade, mas nos outros aspectos como humor, bem estar… trabalhei uma vez numa grande empresa que tinha ginástica laboral, dávamos risadas e relaxávamos por 20min, 30min… era o suficiente p/ animar a turma. Já em outras o pessoal faz Yoga…

Trabalhar precisa parar de ser esse sofrimento de passar 8, 10hrs sentado numa cadeira olhando pra uma lâmpada acessa apertando botão no teclado q nem macaco! (heheh)

Falou bem… nao gosto de trabalhar 8 horas também nao… acho que nao compensa… e nas ultimas 2 horas… vc só faz alguma coisa mal feita que vc vai ter que consertar no dia seguinte…


Isso é f#d# mesmo!
sem dúvida!

vlw

F

Concordo plenamente, ser desenvolvedor é bacana, as vezes a cabeça fadiga mas não é sempre, e eu pelo menos acho divertido desenvolver.

J

converge:
Dependendo do software que você está desenvolvendo você pode matar alguém também. Por exemplo, software hospitalar que resolve a medida que um paciente deve tomar de algum remédio ou injeção, se a quantidade de algo estiver errado… já sabe.

Já pensei a respeito do cansaço mental, a solução é uma carga de trabalho menor. Conversando com alguns amigos, chegamos a conclusão que nós realmente somos produtos, de efetivamente fazer algo acontecer por algumas horas no dia. 6hrs por dia são mais que suficientes p/ fazer um bom trabalho sem enrolar, focado e concentrado, mais que isso é besteira.

Outro ponto a ser levado em consideração é que as empresas que fazem algum tipo de atividade com os funcionários ganham MUITO não só em produtividade, mas nos outros aspectos como humor, bem estar… trabalhei uma vez numa grande empresa que tinha ginástica laboral, dávamos risadas e relaxávamos por 20min, 30min… era o suficiente p/ animar a turma. Já em outras o pessoal faz Yoga…

Trabalhar precisa parar de ser esse sofrimento de passar 8, 10hrs sentado numa cadeira olhando pra uma lâmpada acessa apertando botão no teclado q nem macaco! (heheh)

Isso já foi mais que provado.
O extress na minha opinião, para os desenvolvedores é cumprir prazos impossíveis, ou se o desenvolvedor acaba virando um multi uso na empresa, por causa da sua capacidade, o que é muito comum.

Mas acho que não tem comparação com um cirurgião, por exemplo.

M

Pessoal ele falou MENTALMENTE desgastante.

Acho que existe sim, tanto em área similar:

  • Um profissional da área de negócios/publicidade/marketing precisa estar sempre por dentro das atuais tendências, precisa estar analisando os resultados de suas ações. Já trabalhei em empresa em que isso era feito diariamente, seg-sáb, e não somente com os resultados de suas ações pois através de pesquisas analisavam o desempenho dos concorrentes e cruzavam os dados;

  • Um designer precisa estar criando imagens, layouts, etc. E isso apesar de não parece é muito chato e cansativo;

Quanto em outras áreas:

  • Um arquiteto precisa ficar bolando design, decoração, aproveitamento de espaço, etc., com os recursos disponíveis;

  • Um médico-cirurgião não pode cometer erros (não há teste), tem que ficar horas em pé, concentrado. Eles não trabalham como querem, existe toda uma metodologia, ordem cronológica, para tomar as ações ou mudar os planos dependendo das variáveis (variação de pressão, por exemplo). E para estar por dentro de tudo isso ele deve fazer sempre um estudo ou revisão prévia, além disso tem que estar sempre por dentro, fazendo cursos.

  • Um controlador de vôo, além da responsabilidade, deve fazer muitos mapeamentos e tomadas de decisão, é uma análise constante, minuciosa, durante todo o período de trabalho.

Lembrando que estes dois últimos raramente tem uma pausa para água ou banheiro durante a atividade. Mas claro que conseguem criar intervalos (no caso do médico mais facilmente).

Enfim toda profissão tem seus bônus e ônus.

R

juliocbq:

Mas acho que não tem comparação com um cirurgião, por exemplo.

Fazer uma cirurgia deve sem bem complexo mesmo, mas um médico nao faz cirurgia todo dia… igual um programador faz… ehhe

É aí que tá… o programador é sugado até a última gota de sangue… (nao conheço nenhum que nao seja)

Nas outras profissoes tem isso também… mas nao sao todos os profissionais da área…

F

Olha quanto a Médico, só se for de Posto de Saúde e Hospitais Públicos. Principalmente, aqui em Campo Grande o povão, a grande massa é extremamente ignorante e forma opinião pela mídia. São revoltados com o Sistema de Saude municipal e os médicos e enfermeiros levam essa bronca diretamente. Não é raro paciente sair na porrada com esses profissionais. Agora no particular é mamata pura.

Controlador de trafego aéreo é tão puxado o serviço que dia desses la nos EUA um controlador colocou os filhos para operarem o sistema. HAHAHA

Executivo e Engenheiro acredito que possam ter um desgaste mental maior mas estes sao MUITO BEM REMUNERADOS. O piso salarial de um egenheiro hoje é de R$ 4,500 reais. Desenvolvedor que ganha isso se considera rico e bem sucedido.

A unica classe profissional que é pior do que a nossa e que todos voces esqueceram é a de POLICIAL

Se voce medir os niveis de cortisol no sangue pode ter certeza que vc nao vai encontrar niveis equivalentes em nenhuma outra classe profssional, com a exceção citada acima. Agora esses medidas que eles tiram de entrevistas é furada e totalmente questionáveis, principalmente na nossa categoria porque a maioria sao homens e homens tendem a suportar cargas maiores de stress.

A

Não é bem assim não…

Depende muito do que vc faz… dificilmente uma tarefa tem uma logica muito desgastante para fazer… Uma tarefa em que vc demora 4 horas para criar uma lógica, tudo bem… cansa mesmo, concordo! Só que programar também não é pura lógica… vc faz tela, cria action e faz as regras… isso nao pode ser considerado lógica… na verdade o que desgasta é vc pensar em uma solução bonita para o problema lógico.

Na verdade desenvolvedores menos experientes tendem a sentir mais cansaço… O problema mesmo é ter que estar em atenção o dia todo… mas sei la… acho uma coisa bem normal…

R

Uai… mas a tela vc tem que ligar na action certo? logica
Regras… lógica…

Tudo na computação é lógica…

Mas eu acho que to na corrente contraria… pq de uns tempos pra cá… nunca mais peguei coisa simples pra fazer… hehehe

J

O que estressa na nossa área não é a programação. É a gerência. São os prazos malucos, os pedidos absurdos, as ordens impossíveis. É gerente burro na orelha, é cliente chato no pé, é usuário topeira, é chefe que acha que sabe tudo e não sabe nada. Essas coisas que irritam qualquer um.

Imagenem todos vocês. Se programassem apenas por prazer, sem precisar ligar pra dinheiro (imagine que tivesse alguma fonte de renda que permitisse isso), será que seriam tão estressados?

Enfim. O que me estrerssa não é hardware, nem software. É peopleware.

A

Uai… mas a tela vc tem que ligar na action certo? logica
Regras… lógica…

Tudo na computação é lógica…

Sim, verdade! Mas sei la… esse tipo de coisa é simples demais se o cara ficar desgastado com isso… pode parar…

J

dohko:
Não é bem assim não…

Depende muito do que vc faz… dificilmente uma tarefa tem uma logica muito desgastante para fazer… Uma tarefa em que vc demora 4 horas para criar uma lógica, tudo bem… cansa mesmo, concordo! Só que programar também não é pura lógica… vc faz tela, cria action e faz as regras… isso nao pode ser considerado lógica… na verdade o que desgasta é vc pensar em uma solução bonita para o problema lógico.

Na verdade desenvolvedores menos experientes tendem a sentir mais cansaço… O problema mesmo é ter que estar em atenção o dia todo… mas sei la… acho uma coisa bem normal…

Vamos ser sinceros. Programador hoje dificilmente resolve problemas de lógica, e só usa apis e frameworks. Então creio que não seja tão cansativo assim.

D

Dia dificil? :roll:

Nao sei a resposta, porque desde quase sempre soh trabalho com isso ai. A 10 mil anos atras eu era ajudante de loja de tinta. Nao era mentalmente desgastante. Mas descarregar um caminhao de latas/18lt de massa acrilica era fisicamente desgastante. :mrgreen:

F

dohko:
Não é bem assim não…

Depende muito do que vc faz… dificilmente uma tarefa tem uma logica muito desgastante para fazer… Uma tarefa em que vc demora 4 horas para criar uma lógica, tudo bem… cansa mesmo, concordo! Só que programar também não é pura lógica… vc faz tela, cria action e faz as regras… isso nao pode ser considerado lógica… na verdade o que desgasta é vc pensar em uma solução bonita para o problema lógico.

Na verdade desenvolvedores menos experientes tendem a sentir mais cansaço… O problema mesmo é ter que estar em atenção o dia todo… mas sei la… acho uma coisa bem normal…

Acho que voce está desconsiderando tudo que está fora da sua realidade. Há lugares por exemplo que o desenvolvedor trabalha como analista de negócio, analista de projeto e analista de suporte. Lugares por exemplo onde o processo está no nível 0 do CMMi mas se cobra qualidade e desempenho de um nível 5 além de complexidades inerentes ao projeto em particular, por exemplo uma hora voce está trabalhando em um sistema de geoprocessamento, outra hora com BI, ERP, laboratorial, etc.

Realmente, a experiencia é um fator que influencia nessa condição, afinal o cerebro humano pois uma plasticidade que é inimaginavel por todos nós. De qualquer forma isso nao contradiz o que foi dito anteriormente.

R

Uai… mas a tela vc tem que ligar na action certo? logica
Regras… lógica…

Tudo na computação é lógica…

Sim, verdade! Mas sei la… esse tipo de coisa é simples demais se o cara ficar desgastado com isso… pode parar…

Mas eu entendo o que vc quis dizer… eu concordo que as vezes vc trabalha no automático…

Mas pelo menos pra mim… ficar fazendo o automático é meio chato… (o framework que criei foi justamente por isso… hehe… nao queria ficar fazendo as coisas repetitivas toda hora)

R

O problema é quando dá um pau… hehehe

O GUJ tá cheeeeeio inclusive…

V

Ele não perguntou sobre remuneração. E de que adianta ganhar os tubos, se você precisa trabalhar 70 horas semanais e envelhece muito mais rápido do que as pessoas?

Não sei quanto à vocês, mas esse papo de programador se estressa demais, etc e tal me parece muito mimimi. Ok, programar causa um cansaço mental, mas para mim ele não é nada sobrenatural. Para mim, o cansaço da programação geralmente é compensado por ver o programa funcionando e ganhando forma. É uma atividade que dá satisfação em fazer. Por mim, existem muitas outras profissões piores.

Eu citaria todas as profissões que exigem comprometimento 24 horas com a empresa: gerente de redes, executivos, infraestrutura.
Também todas as profissoes que um erro pode causar perdas de vidas, catástrofes ou situações dificílimas de se corrigir: Cirurgião, controlador de tráfego aéreo, etc.
E também praticamente todas as profissões que seu objetivo é lidar com um cliente irritado.

São profissões onde pouco importa a organização onde se está. A profissão per se é estressante. É diferente de você estar vivenciando momentos de estresse como programador só pq escolheu a empresa errada para trabalhar, ou pq seu chefe é idiota. em profissões como as que citei, pode-se mudar de chefe e de empresa, ela continua sendo estressante.

R

Falando a meu respeito…

Eu gosto de desafios e resolver problemas de lógica…

O que estressa mais… acho que nem é resolver desafios… o que estressa mais … é o tanto de coisa errada que tem no meio da computacao…

Começando pelas gambiarras que vc tem que resolver :smiley: Aí estressa demais

Aí vem o diretor que nao entende nada de computacao…e por aí vai

R

Se for questao de envelhecimento precoce… computaçao é o grande campeao…

Já vi programadores de 40 anos… tudo acabado…

R

ViniGodoy:

Não sei quanto à vocês, mas esse papo de programador se estressa demais, etc e tal me parece muito mimimi. Ok, programar causa um cansaço mental, mas para mim ele não é nada sobrenatural. Para mim, o cansaço da programação geralmente é compensado por ver o programa funcionando e ganhando forma.

Não acho que é mimimi nao… talvez onde vc trabalhe seja mais de boa… mas o que eu vejo no geral num é muito isso nao…

A

Eu fico cansado não pela atividade, mas pela rotina. Essa rotina tá me matando…

J

rogelgarcia:
Falando a meu respeito…

Eu gosto de desafios e resolver problemas de lógica…

O que estressa mais… acho que nem é resolver desafios… o que estressa mais … é o tanto de coisa errada que tem no meio da computacao…

Começando pelas gambiarras que vc tem que resolver :smiley: Aí estressa demais

Aí vem o diretor que nao entende nada de computacao…e por aí vai

Gambiarra em problema de lógica não existe. Ou está certo ou não está.
Se o algoritmo foi implementado errado, ele não funciona.

Gambiarra está em como os profissionais estão se formando hoje no Brasil. Se pedir para alguns(boa parte) desenvolver um algoritmo para imprimir números pares em um intervalo de 0 a 99, levam uns 5 min ou mais para fazerem isso. Culpa das Instituições e dos alunos.

Agora imagina uma equipe assim. Deve ser estressante para qualquer um naquele meio.

J

A minha terapia contra isso é chegar em casa e ler um bom livro de exatas, e desenvolver um programa com base nessa leitura.
Sempre se aprende mais.

R

Há… faz um if aí que resolve…

(Quando vc escuta isso… pode saber… que lá vem gambiarra)…

Acaba acontecendo que o algoritmo nao funciona… como vc diz…

Mas funciona numa situacao e em outra nao… isso eu chamo de gambiarra…

U

Cara é dois!
Mais a atividade também esta me matando aos poucos!
:slight_smile:

B

rogelgarcia:
ViniGodoy:

Não sei quanto à vocês, mas esse papo de programador se estressa demais, etc e tal me parece muito mimimi. Ok, programar causa um cansaço mental, mas para mim ele não é nada sobrenatural. Para mim, o cansaço da programação geralmente é compensado por ver o programa funcionando e ganhando forma.

Não acho que é mimimi nao… talvez onde vc trabalhe seja mais de boa… mas o que eu vejo no geral num é muito isso nao…


então se existem lugares q o trabalho é estafante e outros não, ainda é culpa da programação?

J

bobmoe:
rogelgarcia:
ViniGodoy:

Não sei quanto à vocês, mas esse papo de programador se estressa demais, etc e tal me parece muito mimimi. Ok, programar causa um cansaço mental, mas para mim ele não é nada sobrenatural. Para mim, o cansaço da programação geralmente é compensado por ver o programa funcionando e ganhando forma.

Não acho que é mimimi nao… talvez onde vc trabalhe seja mais de boa… mas o que eu vejo no geral num é muito isso nao…


então se existem lugares q o trabalho é estafante e outros não, ainda é culpa da programação?

A culpa NUNCA é da programação.

Programação não estressa as pessoas. PESSOAS estressam as pessoas.

G

A de “sintonizador de TV” deve ser terrível!

R

josenaldo:
bobmoe:
rogelgarcia:
ViniGodoy:

Não sei quanto à vocês, mas esse papo de programador se estressa demais, etc e tal me parece muito mimimi. Ok, programar causa um cansaço mental, mas para mim ele não é nada sobrenatural. Para mim, o cansaço da programação geralmente é compensado por ver o programa funcionando e ganhando forma.

Não acho que é mimimi nao… talvez onde vc trabalhe seja mais de boa… mas o que eu vejo no geral num é muito isso nao…


então se existem lugares q o trabalho é estafante e outros não, ainda é culpa da programação?

A culpa NUNCA é da programação.

Programação não estressa as pessoas. PESSOAS estressam as pessoas.

É… faz sentido… pq as vezes vc tem que mecher com um código bem ruim… e isso é estressante… Mas foi alguém que fez… do mesmo jeito…hehehe

Quando o diretor da empresa nao entende nada de computacao… estressa… também é culpa de alguém…

J

Cara, essa deve ser a melhor. Você ganha várias tvs hein!?

R

Cara, essa deve ser a melhor. Você ganha várias tvs hein!?

Nada… hoje em dia até que vc nao tem que ficar sintonizando muito nao…

Mas a um tempo atrás… no interior… ichi… horas pra fazer pegar a bagaça… hahahah

J

rogelgarcia:
juliocbq:

Gambiarra em problema de lógica não existe. Ou está certo ou não está.

Há… faz um if aí que resolve…

(Quando vc escuta isso… pode saber… que lá vem gambiarra)…

Acaba acontecendo que o algoritmo nao funciona… como vc diz…

Mas funciona numa situacao e em outra nao… isso eu chamo de gambiarra…

Um if não é um algoritmo. Um algoritmo vai te trazer uma resposta, e, se ela sair diferente do padrão tá errado, e você o escreve novamente.
Como aplicar fourier em uma imagem, se você não ver o spectro resultante, está errado.

Agora fazer um projeto e usar defaultTableModel já é outra história, e eu concordo em gênero, número e grau.

A

Lógica para mim é aquele problema em que vc nao consegue mentalizar sem pensar bastante! Aquela que por exemplo eu pego um papel e faço uma grid… tipo um teste de mesa e vou colocando os valores e comparando com o que tem que dar na saída e assim vou desenvolvendo o raciocineo da logica… até que no final chego em poucas linhas de código! Isso desgasta mesmo… mas nao eh todo dia q tem uma dessas :slight_smile:

R

Exemplo de gambiarra:

if(i == 2){
   //faça algo

} else if(i == 2){
   //faça algo
   
}

(...)

try {
    executarFuncao();
} catch(Exception e){
    executarFuncao();
}

E esses códigos… eu encontrei em frameworks… :shock:

Tem nego muito artista

No hibernate tem uma interface… que definia um tipo de mapeamento… a interface é a org.hibernate.Type
Aí tem a AssociationType, AnyType, BlobType, CollectionType… tudo extende ou implementa Type… e cada classe serve para um tipo de mapeamento… até aí… ok

Agora vamos ver os métodos da interface Type

isAssociationType()

isCollectionType()

isAnyType()

//e o que eu gosto mais
isXMLElement()

Cade o OO disso? Na interface tem um método para saber se a interface é de determinada classe concreta…
E é claro que vc usa essa interface com um monte de if (nao existe gambiarra sem um if no meio… heheh)

E ainda… olha o cometário do método:

/**
	 * Return true if the implementation is castable to
	 * <tt>AssociationType</tt>. This does not necessarily imply that
	 * the type actually represents an association.
	 * @see AssociationType
	 * @return boolean
	 */
	public boolean isAssociationType();

(E o pior é que isso tá na raiz do framework… então a gambiarra já começa cedo)

A

rogelgarcia:
Exemplo de gambiarra:

if(i == 2){
   //faça algo

} else if(i == 2){
   //faça algo
   
}

(...)

try {
    executarFuncao();
} catch(Exception e){
    executarFuncao();
}

E esses códigos… eu encontrei em frameworks… :shock:

Tem nego muito artista

No hibernate tem uma interface… que definia um tipo de mapeamento… a interface é a org.hibernate.Type
Aí tem a AssociationType, AnyType, BlobType, CollectionType… tudo extende ou implementa Type… e cada classe serve para um tipo de mapeamento… até aí… ok

Agora vamos ver os métodos da interface Type

isAssociationType()

isCollectionType()

isAnyType()

//e o que eu gosto mais
isXMLElement()

Cade o OO disso? Na interface tem um if para saber se a interface é de determinada classe concreta…

E ainda… olha o cometário do método:

/**
	 * Return true if the implementation is castable to
	 * <tt>AssociationType</tt>. This does not necessarily imply that
	 * the type actually represents an association.
	 * @see AssociationType
	 * @return boolean
	 */
	public boolean isAssociationType();

(E o pior é que isso tá na raiz do framework… então a gambiarra já começa cedo)

Eu até entendo pq eles fizeram isso… se vc observar… tem uma TypeFactory!

R

Mas ter o TypeFactory… nao influencia no fato de ter os métodos isIsso isAquilo…

Daria pra fazer o TypeFactory do mesmo jeito…

E o comentário do isAssociationType :shock:

A

Então…falar assim sem ver todo o código é dificil… mas esses métodos isX isY isA, etc… podem ser os critérios para ele criar o objeto certo na factory!

R

Eu tenho o código aqui…

O TypeFactory é que cria os objetos Type… entao ele nao precisa do isX isY pra saber… pois foi ele mesmo que criou…

Esses isX isY sao usados lá dentro do framework…

O que acontece… é que vc fazendo esses métodos… é o mesmo que usar instanceof… voce tá quebrando totalmente o principio de orientacao a objetos…

E pro cara fazer o instanceof… ele fez um monte de if… para programar de acordo com a situacao… com isso… nao se tem um algorítmo genérico… e sim vários especificos para cada situacao…

Se surgir uma situacao que o desenvolvedor do hibernate nao pensou… vai furar o algorítmo…

Por isso que vc tem que fazer tudo certinho conforme manda a cartilha… porque coisas que aparentemente fazem sentido… e tem lógica… se nao tiver na cartilha… nao vao funcionar… entende?

A

rogelgarcia:
Eu tenho o código aqui…

O TypeFactory é que cria os objetos Type… entao ele nao precisa do isX isY pra saber… pois foi ele mesmo que criou…

Esses isX isY sao usados lá dentro do framework…

O que acontece… é que vc fazendo esses métodos… é o mesmo que usar instanceof… voce tá quebrando totalmente o principio de orientacao a objetos…

E pro cara fazer o instanceof… ele fez um monte de if… para programar de acordo com a situacao… com isso… nao se tem um algorítmo genérico… e sim vários especificos para cada situacao…

Se surgir uma situacao que o desenvolvedor do hibernate nao pensou… vai furar o algorítmo…

Por isso que vc tem que fazer tudo certinho conforme manda a cartilha… porque coisas que aparentemente fazem sentido… e tem lógica… se nao tiver na cartilha… nao vao funcionar… entende?

Muito estranho Rogel… mas na factory ele nao define nada no tipo que já faz esses métodos se comportarem de forma diferente?

R
dohko:
rogelgarcia:
Eu tenho o código aqui...

O TypeFactory é que cria os objetos Type.. entao ele nao precisa do isX isY pra saber.. pois foi ele mesmo que criou..

Esses isX isY sao usados lá dentro do framework...

O que acontece.. é que vc fazendo esses métodos.. é o mesmo que usar instanceof.. voce tá quebrando totalmente o principio de orientacao a objetos..

E pro cara fazer o instanceof.. ele fez um monte de if.. para programar de acordo com a situacao.. com isso.. nao se tem um algorítmo genérico.. e sim vários especificos para cada situacao...

Se surgir uma situacao que o desenvolvedor do hibernate nao pensou... vai furar o algorítmo...

Por isso que vc tem que fazer tudo certinho conforme manda a cartilha.. porque coisas que aparentemente fazem sentido.. e tem lógica.. se nao tiver na cartilha.. nao vao funcionar.. entende?

Muito estranho Rogel... mas na factory ele nao define nada no tipo que já faz esses métodos se comportarem de forma diferente?

Na factory praticamente só tem um return new nos métodos.. alguns tens uns ifs.. veja:
public static EntityType oneToOne(
			String persistentClass, 
			ForeignKeyDirection foreignKeyType,
			String uniqueKeyPropertyName, 
			boolean lazy, 
			boolean unwrapProxy,
			boolean isEmbeddedInXML, 
			String entityName, 
			String propertyName
	) {
		return new OneToOneType(
				persistentClass,
				foreignKeyType,
				uniqueKeyPropertyName,
				lazy,
				unwrapProxy,
				isEmbeddedInXML,
				entityName,
				propertyName 
			);
	}

	/**
	 * A many-to-one association type for the given class
	 */
	public static EntityType manyToOne(String persistentClass) {
		return new ManyToOneType( persistentClass );
	}

	/**
	 * A many-to-one association type for the given class
	 */
	public static EntityType manyToOne(String persistentClass, boolean lazy) {
		return new ManyToOneType( persistentClass, lazy );
	}

(...)

	/**
	 * Uses heuristics to deduce a Hibernate type given a string naming the type or Java class.
	 * Return an instance of <tt>org.hibernate.type.Type</tt>.
	 */
	public static Type heuristicType(String typeName, Properties parameters)
			throws MappingException {
		Type type = TypeFactory.basic( typeName );
		if ( type == null ) {
			Class typeClass;
			try {
				typeClass = ReflectHelper.classForName( typeName );
			}
			catch (ClassNotFoundException cnfe) {
				typeClass = null;
			}
			if ( typeClass != null ) {
				if ( Type.class.isAssignableFrom( typeClass ) ) {
					try {
						type = (Type) typeClass.newInstance();
					}
					catch (Exception e) {
						throw new MappingException( 
								"Could not instantiate Type: " + typeClass.getName(),
								e 
							);
					}
					injectParameters(type, parameters);
				}
				else if ( CompositeUserType.class.isAssignableFrom( typeClass ) ) {
					type = new CompositeCustomType( typeClass, parameters );
				}
				else if ( UserType.class.isAssignableFrom( typeClass ) ) {
					type = new CustomType( typeClass, parameters );
				}
				else if ( Lifecycle.class.isAssignableFrom( typeClass ) ) {
					type = Hibernate.entity( typeClass );
				}
				else if ( Serializable.class.isAssignableFrom( typeClass ) ) {
					type = Hibernate.serializable( typeClass );
				}
			}
		}
		return type;

	}
A

Então… como ele incializa os objetos passando parâmetros…pode ser que em alguns tipos… esses contrutores alteram o estado do objeto…fazendo com que os metodos isX isY se comportem de modo diferente… mas sei la… nao to conseguindo acreditar que os caras do hibernate fizeram uma gambiarra no design

J

rogelgarcia:
Exemplo de gambiarra:

if(i == 2){
   //faça algo

} else if(i == 2){
   //faça algo
   
}

(...)

try {
    executarFuncao();
} catch(Exception e){
    executarFuncao();
}

E esses códigos… eu encontrei em frameworks… :shock:

Tem nego muito artista

No hibernate tem uma interface… que definia um tipo de mapeamento… a interface é a org.hibernate.Type
Aí tem a AssociationType, AnyType, BlobType, CollectionType… tudo extende ou implementa Type… e cada classe serve para um tipo de mapeamento… até aí… ok

Agora vamos ver os métodos da interface Type

isAssociationType()

isCollectionType()

isAnyType()

//e o que eu gosto mais
isXMLElement()

Cade o OO disso? Na interface tem um método para saber se a interface é de determinada classe concreta…
E é claro que vc usa essa interface com um monte de if (nao existe gambiarra sem um if no meio… heheh)

E ainda… olha o cometário do método:

/**
	 * Return true if the implementation is castable to
	 * <tt>AssociationType</tt>. This does not necessarily imply that
	 * the type actually represents an association.
	 * @see AssociationType
	 * @return boolean
	 */
	public boolean isAssociationType();

(E o pior é que isso tá na raiz do framework… então a gambiarra já começa cedo)

gambiarra é a escola e o professor que formou um sujeito desses ae :shock: . Citando o primeiro caso.
Os do hibernate devem ter motivo.

R

É dificil mesmo… eu já mechi muito no código do hibernate… pra entender como funciona… e tentar fazer algumas extensões … mas é muito injeçado o código… e nao teve como eu fazer o que eu queria… só se eu editasse o fonte do hibernate… :frowning:

R

juliocbq:

gambiarra é a escola e o professor que formou um sujeito desses ae :shock: .

Hahahhahaah… tá certo

R

O motivo dos dois casos é o mesmo... gambiarra :D

Num precisa nem pegar os isX isY nao.. pega só esse método

/** 
* Return true if the implementation is castable to 
* <tt>AssociationType</tt>. This does not necessarily imply that 
* the type actually represents an association. 
* @see AssociationType 
* @return boolean 
*/  
public boolean isAssociationType();

isAssociationType nao necessariamente quer dizer que representa um association..

Q interface mais furada é essa....

F

Cara se você descobrir uma profissão que tem que ficar no mínimo 8 horas por dia sentado na frente de uma tela brilhante e queimando neurônios você me fala… não veio nenhuma na minha cabeça… pensei em jogador de xadrez, mas jogador de xadrez não fica olhando para algo brilhante na frente durante 8 horas por dia no mínimo…

-Médico interage com pessoas e isso já é menos estressante que ficar queimando neurônio parado e olhando para algo inerte e brilhante…
-Engenheiro idem
-Advogado idem
-Arquiteto idem

R

Cara se você descobrir uma profissão que tem que ficar no mínimo 8 horas por dia sentado na frente de uma tela brilhante e queimando neurônios você me fala… não veio nenhuma na minha cabeça… pensei em jogador de xadrez, mas jogador de xadrez não fica olhando para algo brilhante na frente durante 8 horas por dia no mínimo…

-Médico interage com pessoas e isso já é menos estressante que ficar queimando neurônio parado e olhando para algo inerte e brilhante…
-Engenheiro idem
-Advogado idem
-Arquiteto idem

Idem

F

Tipo quando programo faço questão de ir tomar água ou ir no banheiro para levantar as pernas e dar uma arejada… ou até mesmo tentar conversar com alguém que não seja brilhante e inerte… :lol: :lol:

Tem gente que fica o dia inteiro colado com a cara no monitor e com fone de ouvido… só de ver isso me dá agonia… :lol: :lol:

Acho que por isso que no Google eles forçam a ter uma mesa de bilhar ou ping pong… senão o sangue dos caras periga de congelar…coagular… :lol: o meu já está quase coagulando… minha vida útil está indo pro saco… acho que vou virar pedreiro por uns tempos para ver se minha vida útil aumenta… :lol: :lol:

R

Felipe Kan:
Tipo quando programo faço questão de ir tomar água ou ir no banheiro para levantar as pernas e dar uma arejada… ou até mesmo tentar conversar com alguém que não seja brilhante e inerte… :lol: :lol:

Tem gente que fica o dia inteiro colado com a cara no monitor e com fone de ouvido… só de ver isso me dá agonia… :lol: :lol:

Acho que por isso que no Google eles forçam a ter uma mesa de bilhar ou ping pong… senão o sangue dos caras periga de congelar…coagular… :lol: o meu já está quase coagulando… minha vida útil está indo pro saco… acho que vou virar pedreiro por uns tempos para ver se minha vida útil aumenta… :lol: :lol:

Hahahah… pior que já pensei nisso também… hahaha

F

Eu me lembrei de quando era pequeno e estava na escola, e quando alguém fazia alguma bagunça o castigo era ficar parado na frente da parede e ficar olhando ela… tipo ficar 15 minutos de castigo era um saco…

Agora imagina ficar 8 horas na frente de algo brilhante e pensando no pepino, pensando, pensando… e o pior é que quando chega em casa… você ainda fica pensando, pensando, pensando em background ou thread secundária ou implicitamente… o pior é quando se sonha ou ainda tem pesadelo… e chega no dia seguinte… o loop continua…

O pior é que eu trabalho no mínimo 8 horas por dia… mas geralmente é muito mais… só que quando algo não funciona… chega em casa e o bagulho não sai da cabeça… o pior é quando algo não funciona na Sexta… e chega Sábado ainda não consigo tirar da cabeça nem Domingo… acho que devíamos ganhar essas horas que o problema foge do trabalho… eu já tentei não pensar mas é muito difícil…

R

Quantas vezes … nao tive as soluções dos problemas no ônibus indo pra casa… hahahah

R

O Felipe definitivamente é um programador…

A

Felipe Kan:
Eu me lembrei de quando era pequeno e estava na escola, e quando alguém fazia alguma bagunça o castigo era ficar parado na frente da parede e ficar olhando ela… tipo ficar 15 minutos de castigo era um saco…

Agora imagina ficar 8 horas na frente de algo brilhante e pensando no pepino, pensando, pensando… e o pior é que quando chega em casa… você ainda fica pensando, pensando, pensando em background ou thread secundária ou implicitamente… o pior é quando se sonha ou ainda tem pesadelo… e chega no dia seguinte… o loop continua…

O pior é que eu trabalho no mínimo 8 horas por dia… mas geralmente é muito mais… só que quando algo não funciona… chega em casa e o bagulho não sai da cabeça… o pior é quando algo não funciona na Sexta… e chega Sábado ainda não consigo tirar da cabeça nem Domingo… acho que devíamos ganhar essas horas que o problema foge do trabalho… eu já tentei não pensar mas é muito difícil…

Cara… eu ja fiz muito isso… mas como já estava ficando mais louco do que sempre fui aprendi a entrar em standby! Mas realmente tem uma coisa inexplicavel… a thread secundária fica trabalhando mesmo!! isso é inevitável kkkkk

R

Esse é o resultado da gambiarra no hibernate…

NullPointerException

http://www.guj.com.br/posts/list/0/202303.java#1022543

Criado 26 de março de 2010
Ultima resposta 28 de mar. de 2010
Respostas 64
Participantes 18