Curso de Inverno - Boas Práticas de Programação.pptx
-
Upload
gabriela-de-lima-gomes-dalle-luche -
Category
Documents
-
view
218 -
download
0
Transcript of Curso de Inverno - Boas Práticas de Programação.pptx
-
7/24/2019 Curso de Inverno - Boas Prticas de Programao.pptx
1/48
1
Boas prticas de programaoCDSP - 18/07/2011
-
7/24/2019 Curso de Inverno - Boas Prticas de Programao.pptx
2/48
2
Boas prticas de programao
I) Escrevendo o Cdigo Fonte Estrutura do cdigo fonte Legibilidade Letras maisculas Capitulao de palavras chave Notao ngara ComentriosII) Visibilidde e !o"enclt#rIII) Prote$%o de &otinsIV) Dese"'en(oV) Dics
!DICE
-
7/24/2019 Curso de Inverno - Boas Prticas de Programao.pptx
3/48
*re de cbe$l(o
Boas prticas de programao
+
Estr#t#r do Cdigo
Fonte
Nessa rea so declarados os ar!uivos de include"variveis estticas e as constantes#
-
7/24/2019 Curso de Inverno - Boas Prticas de Programao.pptx
4/48
*re de identi,c$%o
Boas prticas de programao
Estr#t#r do Cdigo
Fonte
Nessa rea deve$se documentar o programa oufuno# Cont%m comentrios e&plicando a sua'nalidade" data de criao" par(metros" retornos ealtera)es efetuados#
-
7/24/2019 Curso de Inverno - Boas Prticas de Programao.pptx
5/48
*re de declr$%o de vri.veis e #stesiniciis
Boas prticas de programao
Nesta rea devem ser feitos os a*ustes iniciais"importantes para o correto funcionamento doprograma# Entre esses a*ustes iniciais encontram$se a declarao e iniciali+ao de varveis"
abertura de ar!uivos" etc#
Estr#t#r do Cdigo
Fonte
-
7/24/2019 Curso de Inverno - Boas Prticas de Programao.pptx
6/48
Cor'o do 'rogr"
Boas prticas de programao
, o cdigo escrito para reali+ar a tarefa necessriapara atingir o seu ob*etivo#
Estr#t#r do Cdigo
Fonte
-
7/24/2019 Curso de Inverno - Boas Prticas de Programao.pptx
7/48
*re de encerr"ento
Boas prticas de programao
7
Nessa rea 'nali+amos a e&ecuo da rotinafechando reas de trabalho temporrias" limpando'ltros" restaurando reas salvas e retornamos o
resultado da rotina#
Estr#t#r do Cdigo
Fonte
-
7/24/2019 Curso de Inverno - Boas Prticas de Programao.pptx
8/48
Boas prticas de programao
8
egibilidde 3 Ident$%o
do cdigo
Cdigo identado
Cdigo no identado
-dentar o cdigo torna mais fcil identi'car blocos decomandos !ue faam parte de um loop ou estruturacondicional#
-
7/24/2019 Curso de Inverno - Boas Prticas de Programao.pptx
9/48
Boas prticas de programao
4
egibilidde - 5#ebr de
lin(sLinhas muito longas podem di'cultar a legibilidade"nesses casos % melhor !uebrar a linha usando o pontoe v.rgula#
/em !uebra de linha
Com !uebra de linha
-
7/24/2019 Curso de Inverno - Boas Prticas de Programao.pptx
10/48
Boas prticas de programao
10
egibilidde - Es'$os e"
brnco-nserir espaos torna mais fcil identi'car par(metrosde uma funo" distinguir as chaves em uma busca ouvisuali+ar os itens de um clculo#
-
7/24/2019 Curso de Inverno - Boas Prticas de Programao.pptx
11/48
Boas prticas de programao
11
etrs 6isc#ls
E&istem alguns casos em !ue o cdigo deve ser escritoem letras maisculas#
Cdigo /0L /ELEC1 2 3456 /N7889
Nome de campos /N7$:N7;CB;CB
-
7/24/2019 Curso de Inverno - Boas Prticas de Programao.pptx
12/48
Boas prticas de programao
12
C'it#l$%o de 'lvrs
c(veDma conveno amplamente utili+ada % a de capitularas palavras chaves" fun)es" variveis e camposutili+ando uma combinao de caracteres emmaisculo e minsculo" visando facilitar a leitura docdigo fonte#
-
7/24/2019 Curso de Inverno - Boas Prticas de Programao.pptx
13/48
Boas prticas de programao
1+
!ot$%o ngr
@eve ser utili+ada para identi'car o tipo de contedode uma varivel#
-
7/24/2019 Curso de Inverno - Boas Prticas de Programao.pptx
14/48
Boas prticas de programao
1
Co"ent.rios
Comentrios servem como documentao e e&plicaode um cdigo fonte" mantendo um histrico efacilitando seu entendimento para anlise emanuteno#
Comentar o fonte" facilita o entendimento por parte doanalista !ue precisar reali+ar manuteno e at%mesmo para !uem o criou" mas lembre$se !ue
comentrio em e&cesso polui o cdigo e podeatrapalhar" portanto use o bom senso#
No e&iste uma regra sobre o !ue se deve comentar ou
como" mas segue algumas dicas sobre o !ue comentare melhorar o entendimento do seu cdi o fonte#
-
7/24/2019 Curso de Inverno - Boas Prticas de Programao.pptx
15/48
Boas prticas de programao
1
Co"ent.rios
-nsira um cabealho e comente !ual 'nalidade da rotinaou funo" descrevendo !uais par(metros devem serpassados e !ual deve ser o retorno esperado#
Comente a chave do .ndice utili+ado ao lado da funodb/et5rderF
0uando utili+ar strings de um ar!uivo C" insira um
comentrio ao lado com o te&to da string#
Comente clculos" e&plicando !ual sua lgica#
Comente trechos de cdigo" e&plicando de forma sucintasua 'nalidade#
-
7/24/2019 Curso de Inverno - Boas Prticas de Programao.pptx
16/481
Boas prticas de programao
I) Escrevendo o Cdigo FonteII) Visibilidde e !o"enclt#r
Aadro de Nomenclatura =isibilidade
III) Prote$%o de &otinsIV) Dese"'en(oV) Dics
!DICE
-
7/24/2019 Curso de Inverno - Boas Prticas de Programao.pptx
17/48
Cdigo Fonte
5 nome do cdigo$fonte deve ser montado da seguinteformaG
F"9lis de Progr"s : ;i'o de
-
7/24/2019 Curso de Inverno - Boas Prticas de Programao.pptx
18/48
Boas prticas de programao
18
Pdr%o de !o"enclt#r
EBe"'lo de no"e de Cdigo Fonte
-ncluso de dados do mdulo Jesto de Aessoas $:PE010>P&
;rec(o Descri$%o
JAE 3am.lia de programas do mdulo Jesto de Aessoas#
< Entrada de dados#
979 Numerao de fonte dispon.vel#
#A4K E&tenso indicadora de !ue o ar!uivo % um cdigo$fonte
-
7/24/2019 Curso de Inverno - Boas Prticas de Programao.pptx
19/48
Boas prticas de programao
14
Pdr%o de !o"enclt#r
F#n$es
-
7/24/2019 Curso de Inverno - Boas Prticas de Programao.pptx
20/48
Boas prticas de programao
20
Pdr%o de !o"enclt#r
EBe"'lo de no"e de F#n$%o
3uno de incluso de dados no 3-N
-
7/24/2019 Curso de Inverno - Boas Prticas de Programao.pptx
21/48
EBe"'losG
=alidaCpoF $: =alida contedo de campo
CalcMurosF $: Clculo de *uros
Boas prticas de programao
21
Pdr%o de !o"enclt#r
Aara fun)es gen%ricas utili+adas em um determinadomdulo" nomeia$se a funo diretamente de acordo com asua aplicabilidade#
-
7/24/2019 Curso de Inverno - Boas Prticas de Programao.pptx
22/48
EBe"'losG
cCodigo =arivel caractere para arma+enar umcdigo
cN3 =arivel caractere com o nmero da Nota 3iscalnCount =arivel num%rica usada como contadorc6oeda =arivel caractere com o cdigo da moeda
Boas prticas de programao
22
Pdr%o de !o"enclt#r
Aara variveis no e&iste um padro" por%m deve$se utili+arum nome de acordo com a sua 'nalidade" facilitando oentendimento#
-
7/24/2019 Curso de Inverno - Boas Prticas de Programao.pptx
23/48
Boas prticas de programao
2+
Pdr%o de !o"enclt#r
No existe tamanho mximo para nomes de variveis e funes,
entretanto o compilador reconhece apenas 10 caracteres, ignorando o
restante.
As variveis nalor!itulo"agar e nalor!itulo#ece$er, so vistas pelocompilador como nalor!itu
-
7/24/2019 Curso de Inverno - Boas Prticas de Programao.pptx
24/48
Boas prticas de programao
2
Visibilidde
F#n$es
3un)es sem declarao !uando usadas a partir do menuda aplicaoF" declaradas como 6ain ou Dser so vis.veisem todo o sistema" carregando a pilha de memria"portanto se forem usadas apenas no prprio cdigo fontedevem ser declaradas como /1
-
7/24/2019 Curso de Inverno - Boas Prticas de Programao.pptx
25/48
Boas prticas de programao
2
Visibilidde
Vri.veis
-
7/24/2019 Curso de Inverno - Boas Prticas de Programao.pptx
26/482
Boas prticas de programao
I) Escrevendo o Cdigo FonteII) Visibilidde e !o"enclt#rIII) Prote$%o de &otins
Campos" 3un)es e 1abelas -niciali+ao de variveis
-
7/24/2019 Curso de Inverno - Boas Prticas de Programao.pptx
27/48
Boas prticas de programao
27
Prote$%o 3 C"'osH ;bels e
F#n$es
Nos fontes do padro % muito importante veri'car ae&istOncia de campos" tabelas e fun)es# Essa precauoevita erros nas rotinas !uando so utili+adas em sistemasdesatuali+ados#
3ieldAos =eri'ca a e&istOncia de um campo" evitando !ue arotina tente manipular campos ine&istentes# 4etorna posio
num%rica do campo#
-
7/24/2019 Curso de Inverno - Boas Prticas de Programao.pptx
28/48
Boas prticas de programao
28
Prote$%o 3 C"'osH ;bels e
F#n$esExemplos:
-
7/24/2019 Curso de Inverno - Boas Prticas de Programao.pptx
29/48
Boas prticas de programao
24
Prote$%o 3 IniciliA$%o de
Vri.veis
-
7/24/2019 Curso de Inverno - Boas Prticas de Programao.pptx
30/48
Boas prticas de programao
+0
Prote$%o 3 lis tivo
Dma proteo muito importante em todas as fun)es %salvar o conte&to do alias ativo e tamb%m da!uelesmanipulados dentro da sua funo#Essa proteo garante !ue sua funo no interferir na
e&ecuo da funo chamadora# < funo Jet
-
7/24/2019 Curso de Inverno - Boas Prticas de Programao.pptx
31/48
Boas prticas de programao
+1
Prote$%o 3 ;rt"ento de retorno
de #n$es
0uando chamar fun)es com algum retorno" utili+e umaestrutura condicional para veri'car seu retorno#
i d
-
7/24/2019 Curso de Inverno - Boas Prticas de Programao.pptx
32/48
Boas prticas de programao
+2
Prote$%o 3 Es'eci,cr o lis
-
7/24/2019 Curso de Inverno - Boas Prticas de Programao.pptx
33/48
Boas prticas de programao
++
Prote$%o 3 Controle de ;rns$%o
-
7/24/2019 Curso de Inverno - Boas Prticas de Programao.pptx
34/48
Boas prticas de programao
+
Prote$%o 3 Controle de ;rns$%o
EBe"'loG
/e alguma rotina degravao no for e&ecutadacorretamente" as anteriores
sero desfeitas
B ti d
-
7/24/2019 Curso de Inverno - Boas Prticas de Programao.pptx
35/48
Boas prticas de programao
+
Prote$%o 3 ocliA$%o
0uando a e&ecuo de parte do cdigo estiver condicionadaa uma determinada locali+ao deve$se testar o contedoda varivel global cAaisLoc#
B ti d
-
7/24/2019 Curso de Inverno - Boas Prticas de Programao.pptx
36/48
Boas prticas de programao
+
Sigl P9s
! ngol
& rgentin
J
-
7/24/2019 Curso de Inverno - Boas Prticas de Programao.pptx
37/48
Boas prticas de programao
+7
Prote$%o 3 Jnco de Ddos
No
-
7/24/2019 Curso de Inverno - Boas Prticas de Programao.pptx
38/48
Boas prticas de programao
+8
Prote$%o 3 Jnco de Ddos
B ti d
-
7/24/2019 Curso de Inverno - Boas Prticas de Programao.pptx
39/48
+4
Boas prticas de programao
I) Escrevendo o Cdigo FonteII) Visibilidde e !o"enclt#rIII) Prote$%o de &otinsIV)Dese"'en(o
Comparativo entre fun)esV) Dics
!DICE
Boas prticas de programao
-
7/24/2019 Curso de Inverno - Boas Prticas de Programao.pptx
40/48
Boas prticas de programao
0
Dese"'en(o 3 Co"'rtivo entre
F#n$es
Comparativo entre algumas fun)es !ue podem sersubstitu.das por outras similares !ue melhoram odesempenho da rotina#
Boas prticas de programao
-
7/24/2019 Curso de Inverno - Boas Prticas de Programao.pptx
41/48
Boas prticas de programao
1
Dese"'en(o 3 Co"'rtivo entre
F#n$es6sSeeNO) Vers#s dbSeeNO)
6s/eeQF possui as mesmas funcionalidades bsicas dafuno @b/eeQF" com a vantagem de no necessitar
acessar novamente a base de dados para locali+ar umainformao * utili+ada pela thread cone&oF ativa#@esta forma" a thread mant%m em memria os dadosnecessrios para reposicionar os registros * locali+adosatrav%s do comando @b/eeQ no caso o 4ecnoFF de forma!ue a aplicao pode simplesmente efetuar oposicionamento sem e&ecutar novamente a busca#< diferena entre o @b/eeQF e o 6s/eeQF % notada emaplica)es com grande volume de posicionamentos" como
relatrios" !ue necessitam referenciar diversas ve+es omesmo registro durante uma e&ecuo#
Boas prticas de programao
-
7/24/2019 Curso de Inverno - Boas Prticas de Programao.pptx
42/48
Boas prticas de programao
2
Dese"'en(o 3 Co"'rtivo entre
F#n$eset6VO) Vers#s et!e?PrO) Vers#s S#'eret6VO)
Jet6=F retorna o contedo de um par(metro e se ele noe&istir o seu retorno depender dos par(metros lelp e
&@efault# /e &@efault for informado o retorno" caso noe&ista" ser &@efault e se no informado retorna #3# e e&ibeelp para lelp falso#/uperJet6=F diferencia$se por arma+enar em um arraP ospar(metros consultados" mas caso se*a a primeira consultaao par(metro" aciona a funo Jet6=F#JetNeRAarF simplesmente aciona a rotina /uperJet6=F#
Boas prticas de programao
-
7/24/2019 Curso de Inverno - Boas Prticas de Programao.pptx
43/48
Boas prticas de programao
+
Dese"'en(o 3 Co"'rtivo entre
F#n$esPosicioneO) Vers#s etDVFVlO)
< funo A5/-C-5NEF permite o retorno do contedo de umcampo de um registro de uma tabela especi'cado atrav%s
de uma chave de busca en!uanto !ue o Jet
-
7/24/2019 Curso de Inverno - Boas Prticas de Programao.pptx
44/48
Boas prticas de programao
I) Escrevendo o Cdigo FonteII) Visibilidde e !o"enclt#rIII) Prote$%o de &otinsIV)Dese"'en(oV) Dics
@icas teis
!DICE
Boas prticas de programao
-
7/24/2019 Curso de Inverno - Boas Prticas de Programao.pptx
45/48
Boas prticas de programao
Dics 3 lg#"s dics teis
5perador STTS no % o mesmo !ue STS# Embora ocompilador no acuse erro" o resultado da comparao noser o mesmo# Espaos em branco fa+em diferena na
comparao" utili+e
-
7/24/2019 Curso de Inverno - Boas Prticas de Programao.pptx
46/48
Boas prticas de programao
Dics 3 lg#"s dics teis
Em Loops condicionados ao 'm de uma tabela noes!uea de fa+er um /Qip" preferencialmente usando oalias E /NL$:db/QipFF F# /e houver uma condio
dentro do Khile" veri'!ue se o /Qip ser e&ecutado#
/empre !ue poss.vel utili+e a passagem de par(metros porreferOncia no lugar de variveis tipo Arivate#
Boas prticas de programao
-
7/24/2019 Curso de Inverno - Boas Prticas de Programao.pptx
47/48
Boas prticas de programao
7
Fonte de Cons#lt
-
7/24/2019 Curso de Inverno - Boas Prticas de Programao.pptx
48/48
@anilo @ias
danilo#diasVtotvs#com#br
5@ES;ES
Boas prticas de programao
mailto:[email protected]:[email protected]