desenvolvimento em .net - boas praticas de desenvolvimento
DESCRIPTION
TRANSCRIPT
![Page 1: Desenvolvimento em .Net - Boas Praticas De Desenvolvimento](https://reader034.vdocuments.mx/reader034/viewer/2022051610/54940d48b47959654d8b49f3/html5/thumbnails/1.jpg)
Desenvolvimento em .NET
Boas práticas de desenvolvimento
![Page 2: Desenvolvimento em .Net - Boas Praticas De Desenvolvimento](https://reader034.vdocuments.mx/reader034/viewer/2022051610/54940d48b47959654d8b49f3/html5/thumbnails/2.jpg)
Objectivos● Mantras● Convenções● Localização● Strings● Expressões Regulares
![Page 3: Desenvolvimento em .Net - Boas Praticas De Desenvolvimento](https://reader034.vdocuments.mx/reader034/viewer/2022051610/54940d48b47959654d8b49f3/html5/thumbnails/3.jpg)
Mantras● Option Explicit On
– declarar TODAS as variáveis● Option Strict On
– indicar o tipo de dados de TODAS as variáveis● Código Modular
– usar e abusar de subs e funções● Zero variáveis globais
– usar e abusar de parâmetros nos procedimentos
![Page 4: Desenvolvimento em .Net - Boas Praticas De Desenvolvimento](https://reader034.vdocuments.mx/reader034/viewer/2022051610/54940d48b47959654d8b49f3/html5/thumbnails/4.jpg)
Convenções● Abreviaturas
– “Do not use abbreviations or contractions as parts of identifier names. For example, use GetWindow instead of GetWin.“
– Nunca usar.● excepções admissíveis
– acrónimos. ex: html– variáveis de armazenamento “temporário”. ex: For i=1 To ...
![Page 5: Desenvolvimento em .Net - Boas Praticas De Desenvolvimento](https://reader034.vdocuments.mx/reader034/viewer/2022051610/54940d48b47959654d8b49f3/html5/thumbnails/5.jpg)
Convenções● Variáveis, Parâmetros
– nomes significativos. ex: numeroEmpregados– camelCase
● Variáveis Globais– prefixo '_'. ex: _euNaoExisto
● Constantes– UpperCase. ex: VALOR_MAXIMO
![Page 6: Desenvolvimento em .Net - Boas Praticas De Desenvolvimento](https://reader034.vdocuments.mx/reader034/viewer/2022051610/54940d48b47959654d8b49f3/html5/thumbnails/6.jpg)
Convenções● Variáveis
– não usar o underscore excepto como prefixo ou como separador de palavras nas constantes
![Page 7: Desenvolvimento em .Net - Boas Praticas De Desenvolvimento](https://reader034.vdocuments.mx/reader034/viewer/2022051610/54940d48b47959654d8b49f3/html5/thumbnails/7.jpg)
Convenções● Procedimentos (Sub / Function)
– Nomes significativos. ex: CalcularSaldo()● deve indicar claramente o que é feito nesse
procedimento.– Dica: se dessa forma o nome ficasse muito grande – ex:
CalcularSaldoEfectuarTransferenciaEnviarConfirmacao então provavelmente o procedimento deve ser dividido em outros procedimentos mais curtos.
● como indica uma acção, normalmente usam-se verbos – PascalCase
![Page 8: Desenvolvimento em .Net - Boas Praticas De Desenvolvimento](https://reader034.vdocuments.mx/reader034/viewer/2022051610/54940d48b47959654d8b49f3/html5/thumbnails/8.jpg)
Convenções - Exemplo
![Page 9: Desenvolvimento em .Net - Boas Praticas De Desenvolvimento](https://reader034.vdocuments.mx/reader034/viewer/2022051610/54940d48b47959654d8b49f3/html5/thumbnails/9.jpg)
Localização● Como tornar o nosso código internacionalizável sem ter que programar muito.– implica normalmente mudar formato numeros,
datas, ...
![Page 10: Desenvolvimento em .Net - Boas Praticas De Desenvolvimento](https://reader034.vdocuments.mx/reader034/viewer/2022051610/54940d48b47959654d8b49f3/html5/thumbnails/10.jpg)
Localização● Class CultureInfo
– permite o acesso a todas as definições especificas de uma determinada cultura
● cultura = lingua + país - pt-PT; pt-BR; ...– definições especificas
● Datas: separador datas, nome dos dias da semana (normais e abreviados), nome dos meses, formato (dd/mm/aa, ...)
● Números: separador de milhares, separador decimal, formato números negativos, ...
● Calendário: Gregoriano, Juliano, Japonês, Hebreu, ...
![Page 11: Desenvolvimento em .Net - Boas Praticas De Desenvolvimento](https://reader034.vdocuments.mx/reader034/viewer/2022051610/54940d48b47959654d8b49f3/html5/thumbnails/11.jpg)
Localização– CurrentCulture
● Indica a cultura usada pela aplicação que está a ser executada
– nota: um mesmo computador pode estar a correr diferentes aplicações com diferentes culturas
![Page 12: Desenvolvimento em .Net - Boas Praticas De Desenvolvimento](https://reader034.vdocuments.mx/reader034/viewer/2022051610/54940d48b47959654d8b49f3/html5/thumbnails/12.jpg)
Localização● Criar Projecto
Visual Studio– nome projecto
● 0301_currentCulture
– testar currentCulture
![Page 13: Desenvolvimento em .Net - Boas Praticas De Desenvolvimento](https://reader034.vdocuments.mx/reader034/viewer/2022051610/54940d48b47959654d8b49f3/html5/thumbnails/13.jpg)
Localização– NumberFormat
● Procurar no Index do Visual Studio “NumberFormatInfo class”
– DateTimeFormat● Procurar no Index do Visual Studio “NumberFormatInfo
class”– Calendar
● Procurar no Index do Visual Studio “Calendar class (System.Globalization)”
![Page 14: Desenvolvimento em .Net - Boas Praticas De Desenvolvimento](https://reader034.vdocuments.mx/reader034/viewer/2022051610/54940d48b47959654d8b49f3/html5/thumbnails/14.jpg)
Dados vs Texto
![Page 15: Desenvolvimento em .Net - Boas Praticas De Desenvolvimento](https://reader034.vdocuments.mx/reader034/viewer/2022051610/54940d48b47959654d8b49f3/html5/thumbnails/15.jpg)
Formatação de Dados● Uma variavel pode ter muitas representações
textuais!
![Page 16: Desenvolvimento em .Net - Boas Praticas De Desenvolvimento](https://reader034.vdocuments.mx/reader034/viewer/2022051610/54940d48b47959654d8b49f3/html5/thumbnails/16.jpg)
Formatação de Dados● Exemplos
– mudar data para formato especifico● d.toString(“dd:MM:yy”)
– por número com 4 casas decimais● i.toString(“#.0000”)
![Page 17: Desenvolvimento em .Net - Boas Praticas De Desenvolvimento](https://reader034.vdocuments.mx/reader034/viewer/2022051610/54940d48b47959654d8b49f3/html5/thumbnails/17.jpg)
Exercicio 2● Criar novo
módulo– Formatação
de dados
![Page 18: Desenvolvimento em .Net - Boas Praticas De Desenvolvimento](https://reader034.vdocuments.mx/reader034/viewer/2022051610/54940d48b47959654d8b49f3/html5/thumbnails/18.jpg)
Trabalhar com Strings
![Page 19: Desenvolvimento em .Net - Boas Praticas De Desenvolvimento](https://reader034.vdocuments.mx/reader034/viewer/2022051610/54940d48b47959654d8b49f3/html5/thumbnails/19.jpg)
String vs Stringbuilder● Problema
– concatenar strings é um processo demorado● texto = texto + novotexto
– o resultado da concatenação é um novo objecto
![Page 20: Desenvolvimento em .Net - Boas Praticas De Desenvolvimento](https://reader034.vdocuments.mx/reader034/viewer/2022051610/54940d48b47959654d8b49f3/html5/thumbnails/20.jpg)
String vs Stringbuilder
● Criar Projecto Visual Studio– nome projecto
● 0302_stringbuilder
– testar stringbuilder
![Page 21: Desenvolvimento em .Net - Boas Praticas De Desenvolvimento](https://reader034.vdocuments.mx/reader034/viewer/2022051610/54940d48b47959654d8b49f3/html5/thumbnails/21.jpg)
Expressões Regulares● Linguagem de Padrões para strings
– Verificar se a string X é do tipo Y● padrão Código Postal
– 4 algarismo ou 4 algarismo + separador '-' + 3 algarismos● padrão (\d{4}){1}(-\d{3})?
![Page 22: Desenvolvimento em .Net - Boas Praticas De Desenvolvimento](https://reader034.vdocuments.mx/reader034/viewer/2022051610/54940d48b47959654d8b49f3/html5/thumbnails/22.jpg)
Expressões Regulares● padrão email
– um ou mais caracteres antes do @– um "[" opcional, porque utilizador@[255.255.255.0] é um email
válido– uma sequencia de letras, numeros e pontos finais, que são
todos dominios válidos ou entao caracteres para um endereço ip– um ponto final separado por um sufixo– um ultimo "]" opcional
● ^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,3}|[0-9]{1,3})(\]?)$
![Page 23: Desenvolvimento em .Net - Boas Praticas De Desenvolvimento](https://reader034.vdocuments.mx/reader034/viewer/2022051610/54940d48b47959654d8b49f3/html5/thumbnails/23.jpg)
– Substituir padrão X por Y● eliminar caracteres inválidos excepto '.', '@', '-'
– padrão: [^\w\.@-]
Expressões Regulares
![Page 24: Desenvolvimento em .Net - Boas Praticas De Desenvolvimento](https://reader034.vdocuments.mx/reader034/viewer/2022051610/54940d48b47959654d8b49f3/html5/thumbnails/24.jpg)
Expressões Regulares● Criar Projecto Visual Studio
– nome projecto● 0303_regularExpression
– testar regular expressions
![Page 25: Desenvolvimento em .Net - Boas Praticas De Desenvolvimento](https://reader034.vdocuments.mx/reader034/viewer/2022051610/54940d48b47959654d8b49f3/html5/thumbnails/25.jpg)
Exercicio
![Page 26: Desenvolvimento em .Net - Boas Praticas De Desenvolvimento](https://reader034.vdocuments.mx/reader034/viewer/2022051610/54940d48b47959654d8b49f3/html5/thumbnails/26.jpg)
Avaliação de Conhecimentos!
![Page 27: Desenvolvimento em .Net - Boas Praticas De Desenvolvimento](https://reader034.vdocuments.mx/reader034/viewer/2022051610/54940d48b47959654d8b49f3/html5/thumbnails/27.jpg)
Mantras
![Page 28: Desenvolvimento em .Net - Boas Praticas De Desenvolvimento](https://reader034.vdocuments.mx/reader034/viewer/2022051610/54940d48b47959654d8b49f3/html5/thumbnails/28.jpg)
Mantras● Option Explicit On
– declarar TODAS as variáveis● Option Strict On
– indicar o tipo de dados de TODAS as variáveis● Código Modular
– usar e abusar de subs e funções● Zero variáveis globais
– usar e abusar de parâmetros nos procedimentos
![Page 29: Desenvolvimento em .Net - Boas Praticas De Desenvolvimento](https://reader034.vdocuments.mx/reader034/viewer/2022051610/54940d48b47959654d8b49f3/html5/thumbnails/29.jpg)
Convenções
![Page 30: Desenvolvimento em .Net - Boas Praticas De Desenvolvimento](https://reader034.vdocuments.mx/reader034/viewer/2022051610/54940d48b47959654d8b49f3/html5/thumbnails/30.jpg)
Conveções● Sempre nomes significativos● Zero Abreviaturas● Variáveis => camelCase● Procedimentos => PascalCase
![Page 31: Desenvolvimento em .Net - Boas Praticas De Desenvolvimento](https://reader034.vdocuments.mx/reader034/viewer/2022051610/54940d48b47959654d8b49f3/html5/thumbnails/31.jpg)
Objectivos● Mantras● Convenções● Localização● Strings● Expressões Regulares