31-01-2023
Código Javascript Limpo - 2 de 5 - Parte 3
2. CARACTERÍSTICAS DE FUNÇÕES (Continuação)
Continuação do Tema "Código Javascript Limpo" iniciado no passado dia 04 de Janeiro de 2023.
ENCAPSULAMENTO E REUTILIZAÇÃO DE CÓDIGO
Encapsulamento é um conceito que consiste em agrupar dados e ações relacionados numa única entidade ou objeto ajudando a proteger os dados e permitindo que eles posso ser acedidos somente por meio de ações específicas.
Reutilização de código é uma prática de utilizar o mesmo código em novos projetos ou em diferentes partes do mesmo projeto e pode ser alcançada através da criação de bibliotecas, classes ou funções genéricas. Essa reutilização traz uma maior consistência ao código, tornando-o mais limpo, mais escalável e fácil de manter, diminuindo ainda possíveis erros e tempo de desenvolvimento.
Maus exemplos:
async function getPostsForUser(bi){ const userResponse = await fetch(`/world/user/${bi}`); const user = userResponse.json(); const postResponse = await fetch(`/world/posts/${user.authorId}`); return postResponse.json(); }
async function getCommentsForUser(bi){ const userResponse = await fetch(`/world/users/${bi}`); const user = userResponse.json(); const commentResponse = await fetch(`/world/comments/${user.commentId}`); return commentResponse.json(); }
Bons exemplos:
async function getUser(bi){ const response = await fetch(`/world/v2/user/${bi}`); return response.json(); }
async function getPostsForUser(bi){ const user = getUser(bi); const response = await fetch(`/world/posts/${user.authorId}`); return response.json(); }
async function getCommentsForUser(bi){ const user = getUser(bi); const response = await fetch(`/world/comments/${user.commentId}`); return response.json(); }
Explicações:
O exemplo anterior é um exemplo simples de encapsulamento e reutilização de código, mais propriamente sobre a função 'getUser'. Essa função foi encapsulada e reutilizada na função 'getPostsForUser' e 'getCommentsForUser', tornando essa parte do código mais limpo, consistente e escalável, sendo mais fácil de manter por outros programadores. Se houver necessidade de uma alteração qualquer no URL (no 'fetch') ou na forma como se obtém o utilizador, basta realizar essa alteração uma única vez na função 'getUser' que será automaticamente refletida nas outras duas funções, reduzindo assim o risco de eventuais erros.
Artigos Relacionados:
RELACIONADAS