# Considerações Gerais

### **Tópicos considerados**

Durante o processo de análise para definir a complexidade de um caso, alguns pontos devem ser levados em consideração:

##### **Tipo de alteração**

1. **Alteração apenas "adicional"**  
    A alteração feita no caso é considerada uma implementação adicional quando não é alterado nenhum processo já existente, apenas acrescentada uma nova condição para um processo que já existe ser executado.
2. **Alteração adicional com ressalvas**  
    Uma alteração é considerada adicional com ressalvas quando, é adicionada uma condição para a execução de um processo já existente, entretanto, esse processo necessita de adaptações para a condição adicionada.
3. **Implementação de um processo**  
    Uma alteração onde existe a implementação de um processo antes não existente, é uma alteração de implementação.

##### **Categorias de Complexidade:**

**Baixa (1)**

- Alteração de relatórios;
- Alterações meramente visuais;
- Categorias de erros de baixa complexidade: 
    - "Field not found";
    - "Index out of bound";
    - "Focar em campo invisível";
    - "Erros de estado da query";
- Modificações nos eventos mais comuns dos componentes: 
    - OnExit;
    - OnClick;
    - OnEnter;
    - OnDlgClick;
    - OnChange;

**Média (2)**

- Cláusulas extensas com inúmeros JOIN, funções de agregações, etc;
- Criação de campos e tabelas;
- Métodos/Funções de Rotinas Comuns;
- Criação/Implementação de relatórios;
- Modificações nos eventos dos componentes: 
    - OnKeyDown;
    - OnKeyPress;
    - OnKeyUp;

**Alta (3)**

- Eventos de componentes do tipo TFDQuery;
- Eventos de componentes não citados na complexidade anterior;
- Rotinas de transmissão (específica por módulo: SPED, eSocial, notas em geral);
- Rotinas de Integração entre sistemas;

Estabelecer prazo "máximo" antes de marcar pessoas do nível de complexidade "pedindo" revisão