- Evite começar quebrando uma classe ou método grande já com a sua idéia de implementação final. Faça em partes.
- "Faça funcionar, faça certo, melhore."
- Idealmente quebre o código anteriomente grande em pequenas partes e vá refinando cada uma dessas pequenas partes, até chegar ao nível de ter refinado toda a classe ou método por completo.
- Refatoração deve ser feita em pequenas partes para que bugs possam ser descobertos com mais facilidade e também para que seja mais fácil testar as pequenas partes.
- Não exite em renomear coisas que façam sentido que sejam renomeadas.
- Métodos devem pertercem ao objeto ao qual fazem mais uso dos dados, por exemplo se o método X do objeto N recebe um objeto O como argumento e dentro desse objeto O faz uso de dados de O, talvez faça mais sentido o método pertecer a classe O ao invés da classe N.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
FILE = Monografia | |
.PHONY: default | |
default: main clean | |
#por clean acima | |
.PHONY: main | |
main: | |
pdflatex $(FILE).tex | |
bibtex $(FILE).aux |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package main | |
import ( | |
"fmt" | |
"io" | |
"log" | |
"net" | |
) | |
const listenAddr = "localhost:4000" |
SOLID é uma sigla para 5 princípios de programação, que se aplicados de forma correta visam melhorar a qualidade, flexibilidade, arquitetura do código e diminuir os riscos de surgirem code smells ou alto acoplamento entre classes e métodos.
- S - Single Responsibility Principle (SRP)
- O - Open/Closed Principle (OCP)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package main | |
import ( | |
"fmt" | |
"github.com/gorilla/mux" | |
"github.com/gorilla/securecookie" | |
"net/http" | |
) | |
// cookie handling |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
""" | |
Single Responsibility Principle | |
“…You had one job” — Loki to Skurge in Thor: Ragnarok | |
A class should have only one job. | |
If a class has more than one responsibility, it becomes coupled. | |
A change to one responsibility results to modification of the other responsibility. | |
""" | |
class Animal: | |
def __init__(self, name: str): |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Deployment | |
run-name: Deployment to production | |
on: | |
push: | |
branches: | |
- master | |
workflow_dispatch: |