Engenharia de software

101
Como escrever uma boa mensagem de exceção

Atualmente, estou fazendo uma revisão de código e uma das coisas que noto são o número de exceções em que a mensagem de exceção parece reiterar onde ocorreu a exceção. por exemplo throw new Exception("BulletListControl: CreateChildControls failed."); Todos os três itens desta mensagem eu posso...

101
Reinventar a roda é realmente tão ruim assim?

Seu conhecimento comum em programação que reinventa a roda é ruim ou mau . Mas porque é isso? Não estou sugerindo que seja bom. Eu acredito que está errado. No entanto, li uma vez um artigo que dizia: se alguém está fazendo algo errado (em termos de programação), explique a eles por que está...

101
Como os programadores no Ocidente veem os programadores no Oriente?

A outra metade desta pergunta: Como os programadores no Oriente veem os programadores no Ocidente? A parte oriental do mundo (Índia / China / Filipinas) fornece principalmente serviços de terceirização para o mundo ocidental (EUA e Europa). Você tem a experiência de trabalhar com equipes...

101
Por que declarar uma variável em uma linha e atribuí-la na próxima?

Muitas vezes vejo nos códigos C e C ++ a seguinte convenção: some_type val; val = something; some_type *ptr = NULL; ptr = &something_else; ao invés de some_type val = something; some_type *ptr = &something_else; Inicialmente, assumi que esse era um hábito que restava desde os dias...

101
Qual é o benefício de evitar o uso de um depurador?

Ao longo da minha carreira, notei que alguns desenvolvedores não usam ferramentas de depuração, mas verificam códigos errados para descobrir qual é o problema. Embora muitas vezes ser capaz de encontrar rapidamente erros no código sem um depurador seja uma boa habilidade, parece ser menos...

100
Devo evitar métodos privados se eu executar TDD?

Só agora estou aprendendo TDD. Entendo que os métodos privados não são testáveis ​​e não devem se preocupar, porque a API pública fornecerá informações suficientes para verificar a integridade de um objeto. Eu entendi OOP por um tempo. Entendo que métodos privados tornam os objetos mais...