Desenvolvimento em .NET
Boas práticas de desenvolvimento
Objectivos● Mantras● Convenções● Localização● Strings● Expressões Regulares
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
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 ...
Convenções● Variáveis, Parâmetros
– nomes significativos. ex: numeroEmpregados– camelCase
● Variáveis Globais– prefixo '_'. ex: _euNaoExisto
● Constantes– UpperCase. ex: VALOR_MAXIMO
Convenções● Variáveis
– não usar o underscore excepto como prefixo ou como separador de palavras nas constantes
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
Convenções - Exemplo
Localização● Como tornar o nosso código internacionalizável sem ter que programar muito.– implica normalmente mudar formato numeros,
datas, ...
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, ...
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
Localização● Criar Projecto
Visual Studio– nome projecto
● 0301_currentCulture
– testar currentCulture
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)”
Dados vs Texto
Formatação de Dados● Uma variavel pode ter muitas representações
textuais!
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”)
Exercicio 2● Criar novo
módulo– Formatação
de dados
Trabalhar com Strings
String vs Stringbuilder● Problema
– concatenar strings é um processo demorado● texto = texto + novotexto
– o resultado da concatenação é um novo objecto
String vs Stringbuilder
● Criar Projecto Visual Studio– nome projecto
● 0302_stringbuilder
– testar stringbuilder
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})?
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})(\]?)$
– Substituir padrão X por Y● eliminar caracteres inválidos excepto '.', '@', '-'
– padrão: [^\w\.@-]
Expressões Regulares
Expressões Regulares● Criar Projecto Visual Studio
– nome projecto● 0303_regularExpression
– testar regular expressions
Exercicio
Avaliação de Conhecimentos!
Mantras
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
Convenções
Conveções● Sempre nomes significativos● Zero Abreviaturas● Variáveis => camelCase● Procedimentos => PascalCase
Objectivos● Mantras● Convenções● Localização● Strings● Expressões Regulares
Top Related