Engenharia de software

53
Por que não expor uma chave primária

Na minha educação, fui informado de que é uma idéia falha expor as chaves primárias reais (não apenas as chaves do banco de dados, mas todos os acessadores primários) ao usuário. Eu sempre pensei que fosse um problema de segurança (porque um invasor poderia tentar ler coisas que não eram...

53
Quando o teste de tipo está OK?

Supondo uma linguagem com alguma segurança de tipo inerente (por exemplo, não JavaScript): Dado um método que aceita a SuperType, sabemos que, na maioria dos casos, podemos ser tentados a executar testes de tipo para escolher uma ação: public void DoSomethingTo(SuperType o) { if (o isa SubTypeA)...

53
Como parar de perder tempo projetando arquitetura [fechado]

Eu me formei recentemente na universidade e comecei a trabalhar como programador. Não acho difícil resolver problemas "técnicos" ou depurar com coisas que eu diria que têm 1 solução. Mas parece haver uma classe de problemas que não têm uma solução óbvia - coisas como arquitetura de software. Essas...

52
O que devo fazer para ser independente da linguagem?

Até agora eu trabalho com asp.net e C #. Também fiz um trabalho decente em Java. Estou planejando minha carreira de tal maneira que um dia seja independente da linguagem. Quais são as coisas que eu preciso aprender? Primeiro, o OOP paradigmas, enquanto fala sobre o design da classe. Existem...