Pular para o conteúdo

Melhorar a Apresentaçâo do Codigo [RESOLVIDO]

Responder tópico
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.
  • Denunciar
  • Indicar

1. Melhorar a Apresentaçâo do Codigo [RESOLVIDO]

Enviado em 21/03/2020 - 16:08h

Olá Comunidade,

Gostaria de obter informações sobre melhores práticas ou dicas de como melhorar a organização do Shell Script, obtendo a melhor forma de estruturar os blocos dentro script para ficar mais elegante. Desde já agradeço tendo certeza que este assunto e interessante para muitos da comunidade. Fiquem vontade para exemplificar com algum script se necessário.


Tiago Eduardo Zacarias
LPIC-3
Viva o Linux!!

Responder tópico

O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

2. Re: Melhorar a Apresentaçâo do Codigo [RESOLVIDO]

Melhor resposta

Enviado em 21/03/2020 - 17:14h

Se tem uma coisa que eu gosto é de dividir tudo em funções de cima pra baixo para facilitar a leitura, também recomendo que leia o livro Clean Code do Robert C. Martin onde explica algumas boas práticas em relação ao código limpo.

https://github.com/cizordj/caesar-code/blob/master/caesar_code.sh

Dá pra dizer que o meu script segue aí uns 20% do que o livro fala.

________________________________________________
O programador tem a mania de achar que tudo é objeto

4. Shell Script

Enviado em 21/03/2020 - 17:06h

Otimo exemplo meu caro , está bem organizado e bem compacto o código , Eu utilizo muito o recurso de pipe , então fica muito grande algumas linhas conforme pode ser visto no script abaixo , estou trabalhando para tentar deixar mais compacto .. O que vocês acham do uso do pipe ? Podemos contornar para ficar menor ?

https://github.com/tiagozacarias/batch_linux/blob/master/batch_key_bkp.sh

5. Re: Melhorar a Apresentaçâo do Codigo [RESOLVIDO]

Enviado em 21/03/2020 - 17:23h

Sobre o teu script eu acho que você deveria diminuir a quantidade de linhas em branco, tenta ajuntar mais o case;
case "${1}" in 
-h | --help)

cat << EOF
Uso: "${0}" Opção
Opções Válidas:
-V Exibir Versão da ferramenta
-h Ajuda
backup_dlink Executa backup de todos os equipamentos da Dlink
backup_cisco Executa backup de todos os equipamentos da Cisco
backup_datacom Executa backup de todos os equipamentos da Datacom
backup_extreme Executa backup de todos os equipamentos da Extreme
backup_all Executa backup de todos os equipamentos da planta
clear_backup Limpa arquivos de backup com mais de 30 dias
EOF
;;
-V | --version)
echo "Versão:$version";;
backup_all)
func_exec_cisco
func_exec_extreme
func_exec_datacom
func_exec_dlink;;
backup_datacom) func_exec_datacom;;
backup_dlink) func_exec_dlink;;
backup_cisco) func_exec_cisco;;
backup_extreme) func_exec_extreme;;
clear_backup) func_exec_clear_bkp;;
*)echo "Você precisa passar uma opção válida";;
esac

e sobre os pipes tenta quebrar mais as linhas pra não precisar arrastar para o lado toda vida que o programador quiser ler, como diz no livro "Nenhuma parte do código deve ser ignorada".

________________________________________________
O programador tem a mania de achar que tudo é objeto

6. Shell Script

Enviado em 21/03/2020 - 18:03h

Otima ideia , a questão das linhas em branco já havia retirado bastante delas, a questão dos pipes e as quebra de linhas vou tentar quebrar mais o que alias e o que mais me incomoda, mas no caso da quebra de linha tem que tentar achar o equilibrio para ficar mais bem apresentável .. No meu ver e meio que uma arte no shell script .. Obrigado pelas dicas e material de referência.

Cizordj escreveu:

Sobre o teu script eu acho que você deveria diminuir a quantidade de linhas em branco, tenta ajuntar mais o case;
case "${1}" in 
-h | --help)

cat << EOF
Uso: "${0}" Opção
Opções Válidas:
-V Exibir Versão da ferramenta
-h Ajuda
backup_dlink Executa backup de todos os equipamentos da Dlink
backup_cisco Executa backup de todos os equipamentos da Cisco
backup_datacom Executa backup de todos os equipamentos da Datacom
backup_extreme Executa backup de todos os equipamentos da Extreme
backup_all Executa backup de todos os equipamentos da planta
clear_backup Limpa arquivos de backup com mais de 30 dias
EOF
;;
-V | --version)
echo "Versão:$version";;
backup_all)
func_exec_cisco
func_exec_extreme
func_exec_datacom
func_exec_dlink;;
backup_datacom) func_exec_datacom;;
backup_dlink) func_exec_dlink;;
backup_cisco) func_exec_cisco;;
backup_extreme) func_exec_extreme;;
clear_backup) func_exec_clear_bkp;;
*)echo "Você precisa passar uma opção válida";;
esac

e sobre os pipes tenta quebrar mais as linhas pra não precisar arrastar para o lado toda vida que o programador quiser ler, como diz no livro "Nenhuma parte do código deve ser ignorada".

________________________________________________
O programador tem a mania de achar que tudo é objeto



Responder tópico

O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Responder tópico

Entre na sua conta para responder.

Fazer login para responder