Skip to content

Commit

Permalink
build: inicialize project
Browse files Browse the repository at this point in the history
  • Loading branch information
sc0v0ne committed Sep 2, 2023
0 parents commit 38593a4
Show file tree
Hide file tree
Showing 16 changed files with 3,047 additions and 0 deletions.
1,026 changes: 1,026 additions & 0 deletions .ipynb_checkpoints/notebookApp-checkpoint.ipynb

Large diffs are not rendered by default.

91 changes: 91 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,91 @@
# Replace Query with Parameter

🎓 College: [Faculdade Metodista Granbery](http://granbery.edu.br/)

👨‍🏫 Teacher: [Marco Antônio - Github](https://github.com/marcoaparaujo) | [Linkedin](https://www.linkedin.com/in/marco-ant%C3%B4nio-ara%C3%BAjo/)

📗 Book: [Refatoração - Aperfeiçoando o design de códigos existentes - Martin Fowler](https://www.amazon.com/-/pt/dp/B087N8LKYB/ref=sr_1_1?__mk_pt_BR=%C3%85M%C3%85%C5%BD%C3%95%C3%91&crid=M4T29CCKD30E&keywords=refatora%C3%A7%C3%A3o&qid=1651322207&sprefix=refatora%C3%A7%C3%A3o%2Caps%2C203&sr=8-1)

> FOWLER, Martin. “Replace Query with Parameter” no código. *In*: REFATORAÇÃO: Aperfeiçoando o design de códigos existentes. 2. ed. [*S. l.*: *s. n.*], 2019. cap. 11.
>
## Método

Objetivo desse método e retirar a consulta dentro função que está em uma dependência indesejada e trazer uma função que traga sempre o mesmo resultado que se chama transparência referencial.

## Código

O código que escolhi foi uma atividade dado em aula pelo Professor Ricardo. Essa função recebe um parâmetro de nomes de coluna do dataset, os dados são verificados pela sua severidade e depois ocorre sua substituição dos valores ausentes de acordo com o seu tipo.

O código pode ser encontrado na plataforma [Kaggle](https://www.kaggle.com/code/edmilsoneddi/data-mining-discipline-exercise)

## Ferramentas

```bash
pip install ipytest
```

```bash
pip install testbook
```

```bash
pip install pandas
```

```bash
pip install jupyter
```

## Objetivo da atividade

1. Elabore ou escolha um código que a refatoração possa ser aplicada.
2. Identifique o mau cheiro associado.
3. Escreva os casos de teste e execute
4. Aplique a refatoração
5. Execute os casos de teste novamente
6. Documente cada etapa para a apresentação

## Mau Cheiro

### Lista longa de parâmetros

O mau cheiro que encontrei dentro do código abaixo foi o lista longa de parâmetros, sendo que esse mal cheiro é para método ‘Replace Parameter with Query’, mas esse método e o inverso do ‘Replace Query with Paramater’, sendo assim o seu mal cheiro será o inverso. O mal cheiro será de **consultas longas** que trazem **confusão** para realizar a **compreensão do código**.

## Procedimento

## Código sem refatoração

![funcaoSemRefatoracao.png](images/funcaoSemRefatoracao.png)

## Teste sem refatoração

![testeSemRefatoracao.png](images/testeSemRefatoracao.png)

## Código novo aplicando a refatoração

## Use Extrair variável (Extract Variable) no código da consulta para separá-lo do restante do corpo da função.

![extractVariable.png](images/extractVariable.png)

## Aplique Extrair função (Extract Function) no código do corpo que não seja a chamada da consulta.

## Dê à nova função um nome fácil de pesquisar, para poder renomeá-la depois.

![extractFunction.png](images/extractFunction.png)

## Use Internalizar variável (Inline Variable) para se livrar da variável que você acabou de criar.

![inlineVariable.png](images/inlineVariable.png)

## Aplique Internalizar função (Inline Function) na função original.

![inlineFunction.png](images/inlineFunction.png)

## Renomeie a nova função dando-lhe o nome da função original.

![renomear.png](images/renomear.png)

## Realização do Teste

![testeComRefatoracao.png](images/testeComRefatoracao.png)
Binary file added Replace_Query_with_Parameter.pdf
Binary file not shown.
Binary file added images/extractFunction.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/extractVariable.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/funcaoSemRefatoracao.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/inlineFunction.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/inlineVariable.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/renomear.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/testeComRefatoracao.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/testeSemRefatoracao.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading

0 comments on commit 38593a4

Please sign in to comment.