Tech-talk semanal, no estilo hands-on, apresentado para equipe de desenvolvimento na empresa MDIAS BRANCO. O código utilizado na talk foi de uma package PL/SQL utilizada em produção.
Pre-Requisitos: O código PL/SQL deve estar coberto por testes automatizados;
- passo-1: trazendo semantica ao resultado da consulta SQL (dando alias para cada coluna);
- 1.1: dê nomes semânticos, de negócio e dentro do contexto a cada coluna;
- 1.2: rodar bateria de testes;
- passo-2: melhorando nome das variaveis com base nos comentarios e contexto;
- 2.1: através dos comentários é possível extrair nomenclatura de negócio, contexto e semântica;
- 2.2: rodar bateria de testes;
- passo-3: remove comentarios redundantes e desnecessarios;
- 3.1: com nomes de variáveis melhores, agora é possível remover os comentários;
- 3.2: rodar bateria de testes;
- passo-4: extrai logicas para procedures/functions com nome que explicitem seu comportamento;
- 4.1: extrai logica para procedure;
- 4.2: cria representações (objetos) de domínio/negócio;
- 4.3: favoreça SQL e PL/SQL Types em vez de Row Types;
- 4.4: rodar bateria de testes;
- passo-5: move respectivos comentarios para suas procedures/functions;
- 5.1: com a melhoria dos nomes os comentários passam a ter menos valor no código principal;
- 5.2: rodar bateria de testes;
- passo-6: refatorar codigo dentro das procedures (afinal, fica mais facil com logicas dentro das procedures);
- 6.1: investir tempo para melhorar o código encapsulado dentro das procedures;
- 6.2: se possivel extrair blocos de código para novas procedures privadas;
- 6.3: sempre investir em nomes que explicitem seu comportamento;
- 6.4: procedures seguindo o SRP - Single Responsibility Principle;
- 6.5: rodar bateria de testes;