Ferramentas do usuário

Ferramentas do site


ti_publica:desenvolvimento_de_sistemas:boas_praticas

Diferenças

Aqui você vê as diferenças entre duas revisões dessa página.

Link para esta página de comparações

Ambos lados da revisão anteriorRevisão anterior
Próxima revisão
Revisão anterior
Última revisãoAmbos lados da revisão seguinte
ti_publica:desenvolvimento_de_sistemas:boas_praticas [2019/11/29 08:09] cartolati_publica:desenvolvimento_de_sistemas:boas_praticas [2020/09/21 16:12] – [Dicas gerais] cartola
Linha 100: Linha 100:
 ===Testes automatizados=== ===Testes automatizados===
   * Algumas linguagens já tem frameworks prontos para adiantar esse trabalho, como o [[https://docs.pytest.org/en/latest/|pytest para Python]], [[https://github.com/kward/shunit2|shUnit2]] ou [[https://liw.fi/cmdtest/|cmdtest/yarn]] para Shell, [[https://phpunit.de/|PHPUnit]] etc   * Algumas linguagens já tem frameworks prontos para adiantar esse trabalho, como o [[https://docs.pytest.org/en/latest/|pytest para Python]], [[https://github.com/kward/shunit2|shUnit2]] ou [[https://liw.fi/cmdtest/|cmdtest/yarn]] para Shell, [[https://phpunit.de/|PHPUnit]] etc
-  * Criar funções ou classes que recebam e retornem parâmetros testáveis+  * Criar funções ou classes que recebam e retornem parâmetros testáveis, independentes das demais funções no mesmo código
   * Criar outro programa que teste, com os testes programados ou preparar trecho do programa para atuar nos testes   * Criar outro programa que teste, com os testes programados ou preparar trecho do programa para atuar nos testes
-  * Uso de <code python>if __name__ == "__main__":</code> no Python para diferenciar quando o script está sendo chamado diretamente e quando está sendo carregado por outro, visando não executar o programa principal se estiver sendo testado+  * Não executar nada caso o programa seja carregado por outro. Isso em geral significa criar uma função ou área "main" que não é executada a não ser que o programa seja diretamente acionado. 
 +    * Em Python pode se usar <code python>if __name__ == "__main__":</code> 
 +    * Em Shell pode se usar <code bash>$(return >/dev/null 2>&1) 
 +if [ "$?" -ne "0" ]; then</code>
  
  
Linha 113: Linha 116:
  
 Na prática criei uma função numa biblioteca geral para carregar variáveis de configuração, por conta disso meu arquivo de configuração é homônimo ao programa original adicionado de uma extensão padrão. Na prática criei uma função numa biblioteca geral para carregar variáveis de configuração, por conta disso meu arquivo de configuração é homônimo ao programa original adicionado de uma extensão padrão.
 +
 +=====Internacionalização de código=====
  
 =====Referências===== =====Referências=====
 +  * [[https://en.wikipedia.org/wiki/Zen_of_Python|Zen of Python]]
 +  * [[https://github.com/ryanmcdermott/clean-code-javascript|Clean code javascript]]
   * Referência boa de livros de algumas linguagens populares: https://goalkicker.com/   * Referência boa de livros de algumas linguagens populares: https://goalkicker.com/
   * Vídeo [[https://www.youtube.com/watch?v=HTLu2DFOdTg|Python's Class Development Toolkit]] - bom para programar classes reutilizáveis, muitas dicas próprias de python.   * Vídeo [[https://www.youtube.com/watch?v=HTLu2DFOdTg|Python's Class Development Toolkit]] - bom para programar classes reutilizáveis, muitas dicas próprias de python.
-  * [[https://en.wikipedia.org/wiki/Zen_of_Python|Zen of Python]] 
   * Cursos gratuitos da USP no Coursera:   * Cursos gratuitos da USP no Coursera:
     *  [[https://www.coursera.org/learn/ciencia-computacao-python-conceitos|Introdução à Ciência da Computação com Python Parte 1]]     *  [[https://www.coursera.org/learn/ciencia-computacao-python-conceitos|Introdução à Ciência da Computação com Python Parte 1]]
     * [[https://www.coursera.org/learn/ciencia-computacao-python-conceitos-2|Introdução à Ciência da Computação com Python Parte 2]]     * [[https://www.coursera.org/learn/ciencia-computacao-python-conceitos-2|Introdução à Ciência da Computação com Python Parte 2]]
 +
 +
ti_publica/desenvolvimento_de_sistemas/boas_praticas.txt · Última modificação: 2020/09/21 16:12 por cartola