Em relação a desenvolvimento orientado a testes, automação d...
O desenvolvimento de sistemas mediante a utilização de CLEAN CODE baseia-se em um ciclo curto de repetições, em que o responsável pela codificação descreve testes automatizados que definem uma funcionalidade elicitada. Após se definir o teste, desenvolve-se o código que será validado pela equipe de teste e, posteriormente, refatorado.
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Alternativa correta: E - Errado.
A questão faz menção a práticas de desenvolvimento de software e ao processo de codificação focado em qualidade e eficiência. Ao contrário do que o enunciado sugere, o conceito de Clean Code não está diretamente relacionado ao ciclo de repetições de testes automatizados, mas sim às práticas de escrita do código de maneira que ele seja fácil de entender e de manter. Clean Code se preocupa com a legibilidade do código, a simplicidade das estruturas e a fácil manutenção, sem a necessidade de repetições curtas de teste.
Por outro lado, o que parece ter sido confundido aqui é o conceito de Test-Driven Development (TDD), que é uma metodologia de desenvolvimento de software na qual se escreve os testes antes mesmo do código de produção. No TDD, é comum seguir um ciclo rápido onde inicialmente escreve-se um teste que falha (porque o código correspondente ainda não existe), em seguida implementa-se o código mínimo necessário para fazer o teste passar e, por fim, procede-se com a refatoração para melhorar o código, mantendo sua funcionalidade.
A questão afirma que após definir o teste, o código desenvolvido é validado por uma equipe de teste e posteriormente refatorado. No entanto, em TDD, a refatoração é parte integrante do ciclo e deve ocorrer imediatamente após o código passar no teste, antes de ser entregue para qualquer equipe de teste subsequente.
Portanto, o erro na afirmação está em atribuir ao Clean Code uma característica que é, na verdade, do TDD, além de não descrever corretamente o processo de TDD. Ao estudar para concursos, é crucial entender bem esses conceitos e metodologias para não confundi-los, já que o conhecimento detalhado sobre práticas de desenvolvimento ágil e qualidade de código são frequentemente avaliados.
Clique para visualizar este gabarito
Visualize o gabarito desta questão clicando no botão abaixo
Comentários
Veja os comentários dos nossos alunos
Complementando:
Clean Code é um conjunto de práticas para desenvolvimento de código que seja fácil de entender e assim seja, também, eficiente, fácil de manter, que gere menor número de erros e os que existam sejam facilmente localizados e corrigidos.
O livro Clean Code de Robert C. Martins, conhecido como Uncle Bob, trás várias boas práticas relacionadas à aspectos de desenvolvimento, por exemplo:
a) nomes significativos: toda a nomenclatura utilizada deve ser tanto quanto possível autoexplicativa e representar a intenção do elemento que está sendo nomeado. Classes devem ter nomes de substantivos, métodos e funções devem ter nomes de verbos, mutators e acessors devem ter os prefixos "get" e "set", etc.
b) métodos e funções: os códigos devem ser enxutos, auto contidos, com no máximo 20 linhas e cada linha com no máximo 100 caracteres. Cada um com uma única responsabilidade. Ter o menor número de parâmetros possíveis para métodos e funções, de preferência zero, 1 ou 2 são aceitáveis.
c) comentários: comentários demonstram que o código não está claro o suficiente, algum aspecto pode exigir um comentário, mas é necessário cautela.
d) formatação: a apresentação do código é um dos aspectos de clareza do código, permite a identificação da hierarquia e organização.
e) objetos e estruturas de dados: devem ser usados encapsulamento e abstração;
f) tratamento de erros: é necessário que todos os erros sejam tratados;
Referências:
http://www.simpledev.com.br/codigo-limpo.html
http://pt.slideshare.net/brunollui/clean-code-part1
http://www.bluesoft.com.br/bluesoft-labs-clean-code-por-bruno-lui/
http://www.infoq.com/br/articles/clean-code-book-review
Bons Estudos!!!
Errado.
O desenvolvimento de sistemas mediante a utilização de CLEAN CODE TDD baseia-se em um ciclo curto de repetições, em que o responsável pela codificação descreve testes automatizados que definem uma funcionalidade elicitada. Após se definir o teste, desenvolve-se o código que será validado pela equipe de teste e, posteriormente, refatorado.
Não é o CLEAN CODE e sim TDD.
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo