Engenharia de software

11
Práticas recomendadas retornando objeto somente leitura

Eu tenho a pergunta "melhores práticas" sobre POO em C # (mas isso se aplica a todos os idiomas). Considere ter uma classe de biblioteca com um objeto a ser exposto ao público, por exemplo, via acessador de propriedade, mas não queremos que o público (pessoas que usam essa classe de biblioteca) o...

11
programação de loops PID em C

Eu sou um engenheiro elétrico que foi empurrado para o mundo digital e aprendendo à medida que passo. Estou programando um processador de TI para fazer um loop PID (proporcional-integral-derivado) , ilustrado por este diagrama: Também vou descrevê-lo: Op-amp de feedback negativo, com o terminal...

11
Minúsculas nos nomes de arquivos do Linux

Como eu acho que o UpperCase é realmente legível para a separação de palavras da primeira letra em nomes longos e complexos, costumo atribuir alguns dos meus arquivos de Linux com alguns UpperCase. Principalmente executáveis, alguns diretórios também. Mas já faz algumas semanas que observei que a...

11
Como resolver dependências de pacotes circulares

Estou refatorando uma grande base de código em que a maioria das classes está localizada em um pacote. Para uma melhor modularidade, estou criando subpacotes para cada funcionalidade. Lembro-me de aprender em algum lugar que um gráfico de dependência de pacote não deve ter loops, mas não sei como...

11
O que é 'distorção de código'?

No livro O'Reilly sobre Scala, li que copiar e colar código cria: ... cria problemas de inchaço do código, manutenção e inclinação , Não vejo definições óbvias da palavra distorção no contexto. Estou ciente dos problemas de copiar e colar, mas não consigo ajustá-los à palavra 'skew'. Como isso...

11
Usando ramificações de teste no Git

Temos alguém (vamos chamá-lo de Ted) que é responsável por testar novos recursos e correções de bugs. Estamos usando o Git e o GitHub . masterdeve ser / é sempre implantável e developmenté onde confirmamos / mesclamos novos recursos ou correções de bugs, mas somente depois que eles foram testados...

11
Devo usar métodos abstratos ou virtuais?

Se assumirmos que não é desejável que a classe base seja uma classe de interface pura, e usando os 2 exemplos abaixo, qual é a melhor abordagem, usando a definição de classe de método abstrato ou virtual? A vantagem da versão "abstrata" é que ela provavelmente parece mais limpa e força a classe...