Sergio-Daniel-Pires / BlueSaver

Projeto de MC426
4 stars 0 forks source link

Code Smells #58

Closed TorMenezes closed 1 year ago

Ygor-J commented 1 year ago

commit 5ba55f6

Code Smell: Long Method Foi identificado que o método responsável pela rota /responder tinha um potencial muito grande de precisar de refatoração no futuro, pois ele concentrava as funções responsáveis pela execução do chatGPT. Caso no futuro, seja necessário otimizar o chatgpt, com uma funcionalidade de buffer, por exemplo, que guardaria os resultados passados de forma a permitir uma conversação contínua, seria necessário introduzir inúmeras linhas de códigos a um mesmo método. Por isso, as funções foram delegadas a uma classe responsável por esses comportamentos.

Refatoração: Extract Class

TorMenezes commented 1 year ago

Code Smell: Dispensable Indentificamos que no método responsável pela funcionalidade do botão "tela cheia" verificava o estado atual duas vezes, se estava ou não em tela cheia. Essa dupla verificação não era necessária para o funcionamento do botão. Em nosso caso, o custo por esse code smell não era perceptível, mas se essa má prática se repetisse em larga escala poderiamos ter um custo de tempo relevante pelo acumulo de verificações condicionais.

Refatoração: Extract Method

gmikio commented 1 year ago

Commits: e1ce478; d4ec71c Code Smell: Dead Code

Ao refatorar o código anterior inicial da feature Quiz, boa parte de sua lógica de funcionamento como: checagem de acerto, exibição de ícone de acerto/erro; foi passada para o front, especificamente para o módulo: "quiz.js", a fim de tornar sua execução mais rápida (evitando várias solicitações ao back em busca do repertório de perguntas 'perguntas.json') e de atribuir a responsabilidade da exibição do Quiz ao front do usuário, e não ao back-end da aplicação. Portanto, o módulo "quiz_funcoes.py" acabou deixando de ser utilizado, tornando-se um código morto; porém, na correria do desenvolvimento, acabou-se esquecendo de deletá-lo do repositório de código, criando-se um Smell Code: Dead Code.

Refatoração: Exclusão do código morto

JorgeBraz65 commented 1 year ago

Commit: b483d12 Code Smell: Dead Code

Ao refatorar o código da feature Quiz, uma função chamada answer_quiz deixou de ser utilizada, e portanto de ser relevante. Porém, foi apenas comentada ao invés de ser excluída. Dessa forma, nesse commit, foi excluído esta função comentada.

Além disso, o request.method==POST da função generate_quiz realizava uma chamada de função de escolher_perguntas, porém durante a refatoração, essa chamada deixou de ser utilizada, e também foi comentada.

Dessa forma, após a remoção dessas linhas de código, o programa continuou funcionando normalmente.

Refatoração: Exclusão do código morto