Engenharia de software

8
Princípio de substituição de Liskov: Se o subtipo possui algum comportamento extra implementado, que não está presente no tipo, então esta violação do LSP?

Na minha busca por escrever um código melhor e mais limpo, estou aprendendo sobre os princípios do SOLID. Nisso, o LSP está se mostrando pouco difícil de entender adequadamente. Minha dúvida é: se eu tiver alguns métodos extras no meu subtipo, S, que não existiam no tipo, T, isso sempre será uma...

8
Quando escrever métodos de extensão para suas próprias classes?

Eu vi recentemente uma base de código que tinha uma classe de dados Addressdefinida em algum lugar e depois em um lugar diferente: fun Address.toAnschrift() = let { address -> Anschrift().apply { // mapping code here... } } Achei confuso não ter esse método no endereço diretamente. Existem...

8
O motivo dos domínios de nível superior (TLDs)

Eu sempre tive como certo que os TLDs existem e são necessários pensar quando você compra um nome de domínio. Mas estou me perguntando por que eles precisam existir em primeiro lugar. Não vejo por que você não poderia ter o sistema de nomes de domínio

8
Verificando o resultado de um construtor em C #

Estou trabalhando em uma base de código com um colega de trabalho que tem o hábito de verificar os resultados de um construtor por um nulo de maneira semelhante a esta Person p = new Person(); if (p != null) { p.Name = "John Smith"; } Meu entendimento do cenário do .NET é que um construtor...