Engenharia de software

11
Indexação rápida de combinações k

Estou revisitando um problema antigo em que estava trabalhando há algum tempo. Um cenário típico é "3 bits são definidos em um número inteiro de 8 bits", ou seja, 00000111. Todas as combinações exclusivas com 3 bits definidos podem ser facilmente geradas (em ordem) por loops aninhados. O que me...

11
Maneira simples e limpa de comparar três números

Eu tenho algum código que tem uma sequência de ifs que funciona, mas me sinto confuso. Basicamente, quero escolher o maior de três números inteiros e definir um sinalizador de status para dizer qual foi escolhido. Meu código atual é assim: a = countAs(); b = countBs(); c = countCs(); if (a > b...

11
Sistema de tipos para desempenho

Existem sistemas do tipo (estático) que tentam formalizar as características de desempenho dos programas? Não consigo encontrar parecem encontrar essas tentativas. Como os sistemas de tipos são (uma das) as ferramentas mais poderosas no arsenal do programador para fazer declarações sobre...

11
Em C ++, quando devo usar final na declaração de método virtual?

Eu sei que a finalpalavra-chave é usada para impedir que o método virtual seja substituído por classes derivadas. No entanto, não consigo encontrar nenhum exemplo útil quando realmente devo usar a finalpalavra-chave com o virtualmétodo Ainda mais, parece que o uso de finalmétodos virtuais é um mau...

11
Princípio DRY em boas práticas?

Estou tentando seguir o princípio DRY na minha programação o máximo que posso. Recentemente, tenho aprendido padrões de design no OOP e acabei me repetindo bastante. Eu criei um padrão de repositório junto com os padrões de fábrica e gateway para lidar com minha persistência. Estou usando um banco...

11
O escopo do nível do pacote Java é útil?

Eu entendo a idéia do escopo do pacote e às vezes até pensei que eu queria. No entanto, toda vez que me empenhava em tentar usá-lo, descobri que não atendia às necessidades que eu pensava que serviriam. Minha principal questão sempre parece ser que as coisas que desejo limitar o escopo nunca estão...

11
Quando usar genéricos no design de interface

Tenho algumas interfaces que pretendo que terceiros implementem no futuro e forneço uma implementação básica. Vou usar apenas alguns para mostrar o exemplo. Atualmente, eles são definidos como Item: public interface Item { String getId(); String getName(); } ItemStack: public interface...

11
Loop Foreach e inicialização variável

Existe uma diferença entre essas duas versões do código? foreach (var thing in things) { int i = thing.number; // code using 'i' // pay no attention to the uselessness of 'i' } int i; foreach (var thing in things) { i = thing.number; // code using 'i' } Ou o compilador não se importa?...