ti_publica:desenvolvimento_de_sistemas:boas_praticas
Diferenças
Aqui você vê as diferenças entre duas revisões dessa página.
Ambos lados da revisão anteriorRevisão anteriorPróxima revisão | Revisão anterior | ||
ti_publica:desenvolvimento_de_sistemas:boas_praticas [2019/11/21 21:07] – [Desenvolvimento de sistemas: boas práticas] cartola | ti_publica:desenvolvimento_de_sistemas:boas_praticas [2020/09/21 16:12] (atual) – [Dicas gerais] cartola | ||
---|---|---|---|
Linha 10: | Linha 10: | ||
=====Dicas gerais===== | =====Dicas gerais===== | ||
- | * Use um lint(ou linter) pra checar vários aspectos do código. Ex: [[https:// | + | * Use um [[https:// |
* Crie testes automatizados | * Crie testes automatizados | ||
* Não use linhas maiores que 80 caracteres | * Não use linhas maiores que 80 caracteres | ||
Linha 22: | Linha 22: | ||
* **não serve** caso precise de um interpretador específico que não o padrão do sistema | * **não serve** caso precise de um interpretador específico que não o padrão do sistema | ||
* Se for publicar seu código publique em inglês | * Se for publicar seu código publique em inglês | ||
+ | |||
+ | ===IDE=== | ||
+ | |||
+ | Eu uso o vim, mas essas funcionalidades provavelmente poderão ser encontradas em outras IDEs. | ||
+ | |||
+ | * Checagem de sintaxe e auto complemento no VIM | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | * Configurações no .vimrc: | ||
+ | * set textwidth=80 | ||
+ | * set wrapmargin=8 | ||
+ | * set columns=80 | ||
+ | |||
+ | ===Reuso=== | ||
+ | * Ao criar classes/ | ||
+ | * Ao criar número de versão no código use tipo string | ||
===Documentação=== | ===Documentação=== | ||
Linha 84: | Linha 100: | ||
===Testes automatizados=== | ===Testes automatizados=== | ||
* Algumas linguagens já tem frameworks prontos para adiantar esse trabalho, como o [[https:// | * Algumas linguagens já tem frameworks prontos para adiantar esse trabalho, como o [[https:// | ||
- | * 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> | + | * Não executar nada caso o programa seja carregado por outro. Isso em geral significa criar uma função ou área " |
+ | * Em Python pode se usar <code python> | ||
+ | * Em Bash (shell) pode se usar <code bash> | ||
+ | if [ " | ||
- | ===IDE=== | ||
- | Eu uso o vim, mas essas funcionalidades provavelmente poderão ser encontradas em outras IDEs. | + | ===Senhas hardcoded=== |
+ | Em algumas situações seu programa precisa utilizar senhas. Se sua execução for agendada e não houver uma pessoa para passar a senha na hora, como fazer? Colocar a senha hardcoded? E se seu código estiver sendo guardado num sistema de controle de versão, | ||
+ | * crie um arquivo de configuração | ||
+ | * coloque nele apenas permissão de leitura e apenas para o usuário necessário | ||
+ | * no programa original, opcionalmente, | ||
+ | * não coloque o arquivo de configuração no sistema de controle de versão ou coloque-o com um pré-nome, tipo config-sample | ||
- | * Checagem | + | Na prática criei uma função numa biblioteca geral para carregar variáveis |
- | * [[https:// | + | |
- | * [[https:// | + | |
- | * Configurações no .vimrc: | + | |
- | * set textwidth=80 | + | |
- | * set wrapmargin=8 | + | |
- | * set columns=80 | + | |
- | ===Reuso=== | + | =====Internacionalização |
- | * Ao criar classes/ | + | |
- | * Ao criar número | + | |
=====Referências===== | =====Referências===== | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
* Referência boa de livros de algumas linguagens populares: https:// | * Referência boa de livros de algumas linguagens populares: https:// | ||
* Vídeo [[https:// | * Vídeo [[https:// | ||
- | * [[https:// | ||
* Cursos gratuitos da USP no Coursera: | * Cursos gratuitos da USP no Coursera: | ||
* [[https:// | * [[https:// | ||
* [[https:// | * [[https:// | ||
+ | |||
+ |
ti_publica/desenvolvimento_de_sistemas/boas_praticas.1574381228.txt.gz · Última modificação: 2019/11/21 21:07 por cartola