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
ti_publica:desenvolvimento_de_sistemas:boas_praticas [2019/11/29 11:23] cartolati_publica:desenvolvimento_de_sistemas:boas_praticas [2020/09/21 16:12] (atual) – [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 Bash (shell) pode se usar <code bash>$(return >/dev/null 2>&1) 
 +if [ "$?" -ne "0" ]; then</code>
  
  
Linha 117: Linha 120:
  
 =====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]]
ti_publica/desenvolvimento_de_sistemas/boas_praticas.1575037434.txt.gz · Última modificação: 2019/11/29 11:23 por cartola