Protecting the Domain Model
http://api.blogs.com/the_catch_blog/2005/05/protecting_the_.html
Como esse é um tópico muito questionado aqui no GUJ, acredito que seja do interesse do pessoal.
Boa leitura!
[]'s
Marco Campêlo
Protecting the Domain Model
http://api.blogs.com/the_catch_blog/2005/05/protecting_the_.html
Como esse é um tópico muito questionado aqui no GUJ, acredito que seja do interesse do pessoal.
Boa leitura!
[]'s
Marco Campêlo
Dei uma lida rápida e achei interessante.
Não sou contra expor métodos para acessar atributos na classe de domínio, desde que sejam atributos necessários para o mundo exterior.
ex:
public class Funcionario {
private int id;
private String nome;
public String nome();
public void definirNome(String nome);
}
A nomeclatura set e get também é bem estranha.
Neste caso o id é um atributo interno que só interessa a própria classe não prcisa ser mostrado.
*** aplausos ***
Convencoes sao convencoes, e ‘get/set’ eh uma convencao extremamente bem aceita por praticemente todos os desenvolvedores e ferramentas que existem por ai, exceto um ou outro que teima e precisa passar um tempo batendo a cabeca ate entender que o ponto nao eh que fique bonito ou feio, mas que eh o que todo mundo usa e espera ver no codigo dos outros.
E, convenhamos, nome() e definirNome() nao eh nada melhor.
É uma padrão e eu sigo sem pensar.
Cara sigo todos os padrões e sigo a risca.
Mas que fica estranho vc ter a classe em portugues e ter métodos que comecam em ingles e terminam em portugues isso é.
imagina:
funcionario.updateSalario();
funcionario.insertNovo();
funcionario.criarNew();
editado:
Lembra daqueles padrões rídiculos
String sNome;
int iSalario;
Parece coisa de VB, CLIPPER
Muy bueno.
cv, eu acho que bla.nome() é MUITO melhor que bla.getNome(), mas realmente é gosto. É mais natural pensar sem gets.
De qualquer modo, uso convenções para evitar ser ameaçado de morte por quem mexer no meu código
Shoes
[quote=jprogrammer]Lembra daqueles padrões rídiculos
String sNome;
int iSalario;
Parece coisa de VB, CLIPPER[/quote]
Claro que eu lembro. E lembro tambem que praticamente NINGUEM entende direito pra que a notacao hungara serve.
Talvez ler isso ajude:
Em relacao aos gets e sets, tem uma questao que o java.beans espera que voce tenha gets e sets em muitos momentos… ai, mesmo que alguem bata o pe contra, no final acaba sendo forcado a usar a nomenclatura.
Outro fato interessante de fugir disso eh que, como ja dito, eh algo muito usado e aceito e, portanto, um bom punhado de frameworks / libs vai considerar que, caso voce queira acessar algo, ira ter um getXxx() e / ou setXxx() …
Rafael
Não é mais simples manter todo o código em inglês?
Eu acho legal deixar o código em ingles.
Depende muito do padrão da sua empresa.
Mas isso pode ser perigoso…
[quote=jprogrammer]Eu acho legal deixar o código em ingles.
Depende muito do padrão da sua empresa.
Mas isso pode ser perigoso…[/quote]
Perigoso?
Fale mais sobre isso!
[]'s
Marco Campêlo
Isso é uma cosia engraçada…
Vocês codificam em inglês ou português? (cv, voce out)
No meu emrpego anterior, emrpesa nacional, protugues, no atual, multi, ingles, quando faço sw livre, ingles, quando é algo bobo rpa mim, portugues…
Não tenho um padrão, mas gosto de escrever em português… apesar de nãõ ligar de escrever em inglês… :roll:
Por trabalhar em multinacional, Inglês é mandatório, tanto no código quando em documentação, pois temos pessoas de vários países envolvidas nos projetos.
Quando codifico projetos pessoais (ops … mas isso nunca acontece), eu prefiro continuar no Inglês, pois acaba fluindo naturalmente, afinal, a própria linguagem de programação já é em Inglês (while, if, etc).
[]'s
Marco Campêlo
Perigoso devido o entendimento comum.
A equipe deve conhecer o suficiente.
O perigo são os falsos-cognatos e palavras inventadas na empolgacao
Já codifiquei em inglês por trabalhar com pessoas de outros paises, hoje em português.
[quote=jprogrammer]Perigoso devido o entendimento comum.
A equipe deve conhecer o suficiente.
O perigo são os falsos-cognatos e palavras inventadas na empolgacao
Já codifiquei em inglês por trabalhar com pessoas de outros paises, hoje em português.
[/quote]
Considerando que o português é bem mais ambíguo que o inglês, acho mais perigoso codificar em português.
E se o cara não sabe o mínimo de inglês, como é que ele fez para aprender a programar? Ele manda traduzir os artigos que estão em inglês ou está desatualizado?
Vinci
[quote=pcalcado]
Vocês codificam em inglês ou português? [/quote]
Interfaces em inglês, internals em qualquer coisa (português, inglês, francês,… depende do livro que eu estiver lendo :D)
Codifico em inglês, mas deixo os nomes das entidades em português - sim, existe algo do tipo getCurrentSafra() (trabalho em uma empresa do ramo agrícola).
Acho mais fácil escrever códigos em inglês, sai de forma intuitiva, até pelo costume de ler bastante código em inglês.
E a documentação depende do escopo do projeto, se o alcance sempre for brasileiros - o que tem sido até agora - a documentação/comentários são em português.
Uma lingua nao eh mais ambigua que outra - elas sao so linguas! -, as pessoas eh que sao ambiguas. A lingua eh soh o que elas usam pra transmitir ambiguidade por aih.
Uma lingua nao eh mais ambigua que outra - elas sao so linguas! -, as pessoas eh que sao ambiguas. A lingua eh soh o que elas usam pra transmitir ambiguidade por aih. ;)[/quote]
Não CV… Neste caso o problema não é as pessoas que são ambíguas. Quando se trata de uma dissertação é fácil utilizar ambiguidade. Afinal, em um vestibular os vestibulandos devem saber destinguir textos que contém ambiguidade, já que essa é uma exigência dentro de qualquer vestibular e até mesmo no currículo escolar!!!
Uma coisa é utilizar uma língua para se comunicar, outra coisa é saber se comunicar de forma eficiente, garantindo que a sua informação está sendo devidamente interpretada!
Abraços
Thiago
[quote=Thiago Senna]Não CV… Neste caso o problema não é as pessoas que são ambíguas. Quando se trata de uma dissertação é fácil utilizar ambiguidade. Afinal, em um vestibular os vestibulandos devem saber destinguir textos que contém ambiguidade, já que essa é uma exigência dentro de qualquer vestibular e até mesmo no currículo escolar!!!
Uma coisa é utilizar uma língua para se comunicar, outra coisa é saber se comunicar de forma eficiente, garantindo que a sua informação está sendo devidamente interpretada!
Abraços
Thiago[/quote]
Eu concordo com o cv, a ambiguidade esta em quem escreve. A ambiguidade esta na ideia, e nao no conjunto de palavras que formam a frase.
Quem fala/escreve e quem tem o dever de ser inteligivel/nao ambiguo, e nao o interloucutor.
Mas voltando ao off-topic que ja nao e mais o assunto do topic tambem, eu codifico em portugues no trampo e ingles para meus projetos