Articles of design de

Projeto por contrato usando afirmações ou exceções?

Ao programar por contrato, uma function ou método primeiro verifica se suas pré-condições são atendidas, antes de começar a trabalhar em suas responsabilidades, certo? As duas formas mais importantes de fazer essas verificações são por assert e por exception . declaração falha apenas no modo de debugging. Para certificar-se de que é crucial testar (unidade) […]

Convenções de nomenclatura de database, tabela e coluna?

Sempre que eu desenho um database, sempre me pergunto se existe uma maneira melhor de nomear um item no meu database. Muitas vezes me faço as seguintes perguntas: Os nomes das tabelas devem ser plurais? Os nomes das colunas devem ser singulares? Devo prefixar tabelas ou colunas? Devo usar algum caso na nomenclatura de itens? […]

Quando devo usar uma estrutura em vez de uma class?

MSDN diz que você deve usar estruturas quando precisar de objects leves. Existem outros cenários quando uma estrutura é preferível a uma class? Algumas pessoas podem ter esquecido isso: estruturas podem ter methods. estruturas não podem ser herdadas. Eu entendo as diferenças técnicas entre structs e classs, eu simplesmente não tenho uma boa noção de […]

O que significa “programar para interfaces, não implementações”?

A pessoa se depara com essa frase ao ler sobre padrões de design. Mas eu não entendo, alguém poderia explicar isso para mim?

Chaves substitutas vs. naturais / comerciais

Aqui vamos nós novamente, o velho argumento ainda surge … Seria melhor termos uma chave de negócios como chave primária ou preferiríamos ter um id substituto (ou seja, uma identidade do SQL Server) com uma restrição exclusiva no campo de chave comercial? Por favor, forneça exemplos ou provas para apoiar sua teoria.

Declarando variables ​​dentro ou fora de um loop

Por que o seguinte funciona bem? String str; while (condition) { str = calculateStr(); ….. } Mas este é dito ser perigoso / incorreto: while (condition) { String str = calculateStr(); ….. } É necessário declarar variables ​​fora do loop?

Por que não herdar de List ?

Ao planejar meus programas, muitas vezes começo com uma corrente de pensamento como esta: Um time de futebol é apenas uma lista de jogadores de futebol. Portanto, eu deveria representá-lo com: var football_team = new List(); A ordenação desta lista representa a ordem em que os jogadores são listados na lista. Mas percebo depois que […]