desenvolvimento em .net - boas praticas de desenvolvimento

Post on 18-Dec-2014

2.418 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

DESCRIPTION

 

TRANSCRIPT

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