Funções em C#
- #Programação para Internet
- #C#
- #Clean Architecture
Neste artigo vou escrever sobre funções em C# como as funções podem facilitar o seu dia a dia e organizar modularizar seus projetos.
Em um dia corrido deparamos com várias situações uma delas e ver bastante código em apenas uma estrutura de bloco. Isso e comum até hoje para quem está aprendendo ou para quem programa em linguagem estruturada como o C ou COBOL até mesmo quando precisamos de algo rápido, porém, isso pode ser uma grande dor de cabeça no futuro pois a manutenibilidade pode arrastar-se por dias ou até meses. No mais, a separação em funções e uma questão de reaproveitamento esse e o verdadeiro viés da função.
Bem mais o que é uma função exatamente?
Segundo (GADO Wesley, 2022) Uma função é um conjunto de comandos que pode ser separado por um “bloco” de código visando o processamento de uma tarefa específica, onde esta função recebe parâmetros e retorna um valor. Segundo essa explicação devemos entender que uma função tem que seguir os padrões de projeto e o uso de código limpo (clean code). No entanto se essa função faz mais de "uma coisa" é se você pode extrair outra função dela a partir de seu nome então dizemos que essa função não segue um padrão de código limpo.
Outro autor importante (MARTIN, Robert C, 2011) diz que: “As funções devem fazer uma coisa. Devem fazê-la bem. Devem fazer apenas ela”.
Então devemos dizer que essas funções devem ser:
- Pequenas (enxutas);
- Espertas (aqui entra em análise e complexidade de algoritmos, comportamento assintótico de funções);
- Os blocos dentro de instruções if, else, while devem ser de no máximo uma ou duas;
- Verificar se todas as instruções dentro da função estão no mesmo nível de abstração;
- O código ser lido de cima para baixo (Regra Decrescente);
- Ter nomes descritivos e extensos (são melhores que pequenos e enigmáticos);
- Usar as mesmas frases, substantivos e verbos nos nomes de funções;
- Nos parâmetros (evite mais de três parâmetros) somente se necessário.
Um exemplo pratico e criar uma função que calcula o fatorial de um número, porém ela soma, subtrai divide e multiplica e ao invés de chamar “Fatorial” tem um nome fora do contexto e caso precise fazer uma adição o que fazer. Poderíamos criar uma outra função chamada calculadora! Isso é uma breve explicação.
Exemplo de montagem de uma função:
<Visibilidade> <tipo de retorno> <nome da funcao>(<parametros>)
{
codigo aqui
}
Conclusão:
Percebemos que as funções têm uma grande importância na criação de uma classe auxiliando em um código limpo diminuindo a manutenção e o desgaste sendo escalável, organizado coeso elegante, limpo. Isso leva a um produto confiável e de fácil manutenção.
Referência bibliográfica:
GADO, Wesley. Modularização: Funções e Procedimentos. Blog da Treinaweb, 2022. Disponível em: https://www.treinaweb.com.br/blog/modularização-funcoes-e-procedimentos. Acesso em 23 de fevereiro de 2024.
MARTIN, Robert C. et al. Código Limpo: habilidades práticas do Agile Software. Rio de Janeiro: Alta Books, 2011.