Engenharia de software

10
Omitindo herança em linguagens de programação

Estou desenvolvendo minha própria linguagem de programação. É uma linguagem de uso geral (pense em Python estaticamente digitado para a área de trabalho, por exemplo int x = 1;) não destinada à nuvem. Você acha que não há problema em não permitir herança ou Mixins? (considerando que o usuário...

10
Como usar o código de projetos abandonados do github

Recentemente, deparei-me com projetos do github que eu realmente poderia usar, mas parece ter sido abandonado, com muitos problemas e solicitações importantes de puxar, talvez mais de 100 garfos. Muitas vezes, não há um projeto alternativo. Eu uso o código como está? Pego um garfo e ignoro os...

10
Determinando a quantidade certa de documentação

Onde atualmente trabalho, a abordagem geral é - evitar a documentação o máximo possível Documente apenas se uma equipe diferente precisará apenas para esclarecimento, não me refiro à documentação do código - é o que fazemos, quero dizer toda a documentação que envolve o processo de design - se...

10
Exceções como afirmações ou como erros?

Sou programador profissional em C e programador amador de Obj-C (OS X). Recentemente, fui tentado a expandir para C ++, devido à sua sintaxe muito rica. Até agora, a codificação não lidei muito com exceções. Objective-C tem, mas a política da Apple é bastante rigorosa: Importante Você deve...

10
Os threads usam memória virtual ou memória real?

Eu estava tentando otimizar meu servidor Linux para lidar com 10.000 threads por processo, enquanto ele faz apenas 382 no momento. De acordo com este artigo, a seguinte fórmula é usada para descobrir o total de threads possíveis: number of threads = total virtual memory / (stack...

10
Por que variáveis ​​precisam de um tipo?

Então escrevemos: Customer c = new Customer(); Por que o design não é tal que escrevemos: c = new Customer(); c.CreditLimit = 1000; O compilador pode calcular pontos c para um cliente e permitir que os membros do cliente sejam chamados em c? Eu sei que podemos escrever: IPerson c = new...