Engenharia de software

104
O TDD torna redundante a programação defensiva?

Hoje tive uma discussão interessante com um colega. Eu sou um programador defensivo. Eu acredito que a regra " uma classe deve garantir que seus objetos tenham um estado válido quando interagidos com fora da classe " deve sempre ser respeitada. O motivo dessa regra é que a classe não sabe quem são...

104
Por que os trampolins funcionam?

Eu tenho feito algum JavaScript funcional. Eu pensava que a Otimização de chamada de cauda havia sido implementada, mas, como se vê, eu estava errado. Assim, eu tive que me ensinar trampolim . Depois de ler um pouco aqui e em outros lugares, consegui entender o básico e construí meu primeiro...

103
Importância de projetos de hobby [fechado]

Eu quero saber, qual a importância de programar no seu tempo livre? É necessário trabalhar com o 9-5 como programador e depois chegar em casa e trabalhar no seu hobby para se tornar um programador melhor? Dito isto, eu sei que você só melhora na programação, bem, na programação. Os potenciais...

103
Qual é a diferença entre as pastas "lib" e "vendor"?

Em relação à hierarquia de pasta de origem, há sempre algumas características comuns, tais como o src, docou testpastas, que têm bastante fácil de entender o conteúdo. No entanto, percebi que os grandes projetos têm pastas a libe vendor, embora eu sempre pensasse que eles eram iguais, pois seus...

103
Código testável é melhor código?

Estou tentando adquirir o hábito de escrever testes de unidade regularmente com meu código, mas li que primeiro é importante escrever código testável . Esta pergunta aborda os princípios do SOLID de escrever código testável, mas quero saber se esses princípios de design são benéficos (ou pelo menos...