-
O gabarito é a letra D.
Clean Code é um estilo de desenvolvimento que tem por foco a facilidade para escrever, ler e manter o código. Falando especificamente de comentários, que é o foco da questão, a principal dica é comentar somente o necessário.
Dentre as alternativas apresentadas, a que melhor aplica as regras é a que informa a máscara do CPF e do telefone, ao lado da expressão regular, numa notação mais fácil de visualizar do que olhando diretamente no código.
-
A - INCORRENTA:
Variáveis sem nenhum sentido do seu significado dentro da operação aritmética realizada;
Comentário redundante, pois percebe-se claramente que o valor da operação é atribuído à variável a;
B - INCORRENTA:
É uma validação complexa e de muitos níveis, a qual gerará multiplos senão se para completar toda verificação;
Clean Code recomenda melhora a narrativa do código e, até mesmo, utilizar exceções nesse caso;
C - INCORRETA:
Menos é mais;
Necessário extrair trechos longos desse se;
O resultado da expressão e narrativa são deselegantes;
E - INCORRETA:
Pode facilmente nos enganar, pois está bem estruturada;
As variáveis e métodos aparentar fácil leitura e entendimento;
Porém, não se enganem:
Os métodos não estão no infinitivo - EnviaContratoPorEmail(), deveria ser EnviarContratoPorEmail();
Formatação (critério do time) mas, deveria ser enviarContratoPorEmail() ou enviar_contrato_por_email(), respectivamente camelCase e snake_case, em ambos se inicia com letra minúscula, o mesmo serve para variáveis (atributos);
Desconhecida lógica deste padrão: (".", ";","==","=") . FTC("-", ":","_","/"), faz-se necessário comentar;
D - CORRETA
Duas instâncias da mesma classe, com parâmetros distintos, mas que ficam claros no comentário em frente ao código.
-
Na tentativa de aplicar uma pegadinha, muito bem sussedida, o aplicador criou um exemplo fraquissimo de clean code.
-
fica a máxima
não documente seu código, codifique sua documentação
-
A letra d apresenta um comentário incorreto, com relação a máscara de código do CPF implementada no código. Deveria ser // 999.999.999-99 e não //999.999.99 como está na questão. Portanto, esta questão foi digna de anulação, já que no Clean Code, comenta-se apenas o necessário de maneira CORRETA.
-
Não sei de onde o colega aí embaixo tirou essas justificativas, mas com certeza não foi do Clean Code.
EDIT: minhas justificativas
a) Comentário redundante
b) Acredito que o problema seja usar "enum" antes do nome da variável (vide a parte de Hungarian Notation no Clean Code)
c) Não encontrei nada que explicitamente recomendasse contra lógica inversa, mas acredito que não seja boa prática
d) Esse exemplo com expressões regulares é citado na parte de comentários informativos
e) Nome de método obscuro e sem verbos
-
Rapaz, a letra B está melhor que a D em clean code....
O E não deixa claro para um leigo olhar o código e entender o que está falando.
-
Se uma expressão regular que precisa de um comentário para ser compreendida, não é "Clean Code"!