Exibir mensagem anterior :: Exibir próxima mensagem |
Autor |
Mensagem |
brunokchimbo Aprendiz


Registrado: Segunda-Feira, 15 de Novembro de 2010 Mensagens: 171
|
Enviada: Ter Abr 30, 2013 5:43 pm Assunto: Pra que serve uma constante? [RESOLVIDO] |
|
|
Amigos, há muito venho estudando programação
e fazendo aplicativos e aplicações e em nenhum
deles precisei usar constantes.
Já verifiquei muitos exemplos, mas nunca vi
nenhuma constante declarada! Alguém poderia
me dizer se essas tais constantes foram um dia
úteis?
Obrigado, sempre!
Editado pela última vez por brunokchimbo em Ter Abr 30, 2013 6:52 pm, num total de 1 vez |
|
Voltar ao Topo |
|
 |
nildglan Colaborador


Registrado: Sábado, 16 de Agosto de 2008 Mensagens: 1564 Localização: Goianésia do Pará
|
Enviada: Ter Abr 30, 2013 5:57 pm Assunto: |
|
|
elas são úteis sim
exemplo se vc declarar uma constante com o nome de seu aplicativo
const = 'Programa.exe';
ou uma nome de uma dll que vc usa
ou seja a constante como o nome ja diz não muda é sempre um valor o contrárida variável que pode mudar de acordo seu critério |
|
Voltar ao Topo |
|
 |
johnny-walker Moderador


Registrado: Sábado, 4 de Outubro de 2003 Mensagens: 10653 Localização: Contagem/MG - BRAZIL
|
|
Voltar ao Topo |
|
 |
brunokchimbo Aprendiz


Registrado: Segunda-Feira, 15 de Novembro de 2010 Mensagens: 171
|
Enviada: Ter Abr 30, 2013 6:32 pm Assunto: |
|
|
Citação: | se vc declarar uma constante com o nome de seu aplicativo
const = 'Programa.exe';
ou uma nome de uma dll que vc usa |
Então neste caso, a função seria evitar conflitos com o ponto (.) que separa
a extensão do arquivo?
Essa dúvida, amigo, é só pelo seguinte pensamento:
"Porque declarar uma constante se eu posso digitar o valor?"
Por exemplo:
Se o valor é 100, então poderia declarar uma constante valendo 100.
mas pra que isso se eu posso digitar 100 e acabou? |
|
Voltar ao Topo |
|
 |
RodrigoFarias Experiente


Registrado: Domingo, 27 de Julho de 2008 Mensagens: 443
|
Enviada: Ter Abr 30, 2013 6:41 pm Assunto: |
|
|
brunokchimbo
O uso de constantes não é um limitador, você de fato nunca será obrigado a usar uma constante.
A utilização da mesma é para aumentar a legibilidade do código e melhorar a manutenabilidade.
Vamos a um exemplo prático, imagine uma função hipotética:
Código: | function GetValue: integer;
begin
Result := 365 * 24 * 60 * 60;
end; |
Olhando de forma rápida no código, sabe Deus pra que serve isso.
Como poderíamos melhorar isso ? Dando uma melhor nomenclatura para a função ? Pode ser.
Código: | function QuantidadeSegundosEmUmAno: integer;
begin
Result := 365 * 24 * 60 * 60;
end; |
Ok, já pelo menos, sabemos do que se trata a função, mas o código ainda não está legal. Melhoraríamos com por exemplo a utilização de constantes.
Código: |
const
DIAS_NO_ANO = 365;
HORAS_NO_DIA = 24;
MINUTOS_NA_HORA = 60;
SEGUNDO_NO_MINUTO = 60;
function QuantidadeSegundosEmUmAno: integer;
begin
Result := DIAS_NO_ANO * HORAS_NO_DIA * MINUTOS_NA_HORA * SEGUNDO_NO_MINUTO;
end; |
Percebe ? No ultimo caso, eu sei plenamente o que acontece no meu código. Sem precisar perguntar pra ninguém, nem imaginar o que talvez possa ser algum trecho do código.
A legibilidade é apenas uma das vantagens da utilização de constantes.
Vamos a um outro exemplo, referente a manutenabilidade do sistema.
Imagine que você tem um limitador de memória ram em sua aplicação, onde esse limitador estipula que quando um processo chegar a 1024mb, a aplicação deve realizar X processo. Então você espalha esse valor 1024, para vários pontos de interesse do seu sistema.
Depois de um tempo, essa limitação mudou, agora é 512mb. Se você declarou o 1024, como uma constante e utilizou a constante, você terá que mudar esse valor em apenas um lugar. Caso contrário você terá que procurar em todo seu código por esse valor e trocar um a um.
Entre outros casos...
Att. _________________
Novo Find Uses Para Delphi - https://github.com/rfrezino/RFindUnit |
|
Voltar ao Topo |
|
 |
brunokchimbo Aprendiz


Registrado: Segunda-Feira, 15 de Novembro de 2010 Mensagens: 171
|
Enviada: Ter Abr 30, 2013 6:51 pm Assunto: |
|
|
PERFEITO!
Como sempre, a programação me surpreende.
Obrigado mais uma vez, amigos! |
|
Voltar ao Topo |
|
 |
marcosalles Moderador

Registrado: Quarta-Feira, 26 de Março de 2008 Mensagens: 1695 Localização: Muriaé Mg
|
Enviada: Qua Mai 01, 2013 12:43 pm Assunto: |
|
|
brunokchimbo escreveu: |
Como sempre, a programação me surpreende.
|
Isto é porque eles não lhe falaram sobre as CONSTANTES TIPADAS _________________ http://marcosalles.wordpress.com
Desenvolvo FreeLancer e presto Consultoria
Orientação Online DataSnap DbX ClientDataSet
POO , Padrões de Projeto e dúvidas de Delphi em
Geral |
|
Voltar ao Topo |
|
 |
RodrigoFarias Experiente


Registrado: Domingo, 27 de Julho de 2008 Mensagens: 443
|
Enviada: Qua Mai 01, 2013 2:34 pm Assunto: |
|
|
No meu ver contante tipadas é furada.
Constante tipada é variável global, não tem porque inventar moda.
Att. _________________
Novo Find Uses Para Delphi - https://github.com/rfrezino/RFindUnit |
|
Voltar ao Topo |
|
 |
marcosalles Moderador

Registrado: Quarta-Feira, 26 de Março de 2008 Mensagens: 1695 Localização: Muriaé Mg
|
Enviada: Qua Mai 01, 2013 10:54 pm Assunto: |
|
|
RodrigoFarias escreveu: | No meu ver contante tipadas é furada.
Constante tipada é variável global, não tem porque inventar moda.
Att. |
Variável Global com VISIBILIDADE LOCAL .. Muito útil em situações que vc quer manter o escopo Local , porém que ter a caracteristica de variáveis Globais ,, Muito útil mesmo _________________ http://marcosalles.wordpress.com
Desenvolvo FreeLancer e presto Consultoria
Orientação Online DataSnap DbX ClientDataSet
POO , Padrões de Projeto e dúvidas de Delphi em
Geral |
|
Voltar ao Topo |
|
 |
|