|
|
|
Código
|
|
|
|
|
|
|
|
### Padrões de Backend (Spring Boot)
|
|
|
|
- **Arquitetura em camadas**:
|
|
|
|
- `controller/` → recebe e responde requisições HTTP
|
|
|
|
- `service/` → lógica de negócio
|
|
|
|
- `repository/` → comunicação com o banco de dados
|
|
|
|
- `model/` → classes de domínio
|
|
|
|
- Usar **Lombok** para reduzir código repetitivo.
|
|
|
|
- Métodos devem ser **curtos e claros**, com nomes descritivos.
|
|
|
|
- Retornar sempre objetos (DTOs ou Models) ao invés de Strings cruas.
|
|
|
|
|
|
|
|
**Exemplo - Controller simples:**
|
|
|
|
```java
|
|
|
|
@RestController
|
|
|
|
@RequestMapping("/api/hello")
|
|
|
|
public class HelloController {
|
|
|
|
private final ExampleService service;
|
|
|
|
|
|
|
|
public HelloController(ExampleService service) {
|
|
|
|
this.service = service;
|
|
|
|
}
|
|
|
|
|
|
|
|
@GetMapping
|
|
|
|
public String hello() {
|
|
|
|
return service.getMessage();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
**Exemplo - Service:**
|
|
|
|
```java
|
|
|
|
@Service
|
|
|
|
public class ExampleService {
|
|
|
|
public String getMessage() {
|
|
|
|
return "Hello, Se Doce Fosse!";
|
|
|
|
}
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
### Padrões de frontend (React + Vite)
|
|
|
|
- Usar **componentes funcionais** com **hooks** (`useState`, `useEffect` etc.).
|
|
|
|
- Organizar pastas por **feature** e não por tipo de arquivo.
|
|
|
|
- Evitar lógica de negócio dentro dos componentes, deixar apenas apresentação.
|
|
|
|
- CSS modular ou styled-components para estilização isolada.
|
|
|
|
|
|
|
|
**Exemplo — Componente simples:**
|
|
|
|
```tsx
|
|
|
|
import { useState } from "react";
|
|
|
|
|
|
|
|
function Hello() {
|
|
|
|
const [name] = useState("Se Doce Fosse");
|
|
|
|
return <h1>Hello, {name}!</h1>;
|
|
|
|
}
|
|
|
|
|
|
|
|
export default Hello;
|
|
|
|
```
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
### Convenções gerais
|
|
|
|
- Código deve ser **autoexplicativo**.
|
|
|
|
- Usar **nomes em inglês** para variáveis, classes e funções.
|
|
|
|
- Evitar duplicação de lógica, sempre que possível, reutilizar. |