Qual o correto alinhamento do Case com begin/end?
Uma dúvida que sempre tive e ninguém nunca conseguiu sanar... :cry:
Qual o alinhamento correto que deve ser usado em um case que tem um begin / end :?:
Gostaria que usassem os índices do case para me indicar qual (na sua opinião) é o alinhamento correto e se tiver referências, poste-as aqui...
Na minha opinião... o mais ´elegante´ é o índice 2. :lol:
Qual o alinhamento correto que deve ser usado em um case que tem um begin / end :?:
case ComboBox1.ItemIndex of 0: begin DoSomething; DoMoreElse; end; 1: begin DoAnything; ShowMessage(´ItemIndex = 1´); end; 2: begin BitBtn1Click(nil); Caption := ´ItemIndex = 2´; end; 3: begin ShowMessage(´Bored?´); ShowMessage(´Me too!´); end; end;
Gostaria que usassem os índices do case para me indicar qual (na sua opinião) é o alinhamento correto e se tiver referências, poste-as aqui...
Na minha opinião... o mais ´elegante´ é o índice 2. :lol:
Marcosrocha
Curtidas 0
Respostas
Emerson Nascimento
13/02/2007
eu utilizo o que você chamou de índice 1.
pq? para manter um padrão seja qual for o tipo de ação tomada, como no caso de haver apenas um comando:
acho que ficaria estranho assim:
pq? para manter um padrão seja qual for o tipo de ação tomada, como no caso de haver apenas um comando:
case ComboBox1.ItemIndex of 0: varialvelx := valorx; 1: begin DoAnything; ShowMessage(´ItemIndex = 1´); end; 2: showmessage(´xiii.... deu pau!´); 3: begin Abort; FaçaAlgo; end; else ShowMessage(´nenhuma das anteriores´); end;
acho que ficaria estranho assim:
case ComboBox1.ItemIndex of 0: varialvelx := valorx; 1: begin DoAnything; ShowMessage(´ItemIndex = 1´); end; 2: showmessage(´xiii.... deu pau!´); 3: begin Abort; FaçaAlgo; end; else ShowMessage(´nenhuma das anteriores´); end;
GOSTEI 0
Marcosrocha
13/02/2007
emerson desculpe lhe contradizer mas ainda nem eu estava certo...
veja: http://homepages.borland.com/jedi/jcl/documents/styleguide.html#8.2.7
veja: http://homepages.borland.com/jedi/jcl/documents/styleguide.html#8.2.7
// CORRECT case ScrollCode of SB_LINEUP, SB_LINEDOWN: begin Incr := FIncrement div FLineDiv; FinalIncr := FIncrement mod FLineDiv; Count := FLineDiv; end; SB_PAGEUP, SB_PAGEDOWN: begin Incr := FPageIncrement; FinalIncr := Incr mod FPageDiv; Incr := Incr div FPageDiv; Count := FPageDiv; end; else Count := 0; Incr := 0; FinalIncr := 0; end;
GOSTEI 0
Massuda
13/02/2007
desculpe lhe contradizer mas ainda nem eu estava certo...
Esse tipo de questão não existe nem certo nem errado.Apenas seja coerente.
Se você está trabalhando numa equipe num mesmo projeto, siga as mesmas convenções usadas pelo resto da equipe.
Se você pegou um projeto em andamento, não perca tempo mudando/formatando o que foi feito pelo(s) outro(s) programador(es); se for permitido, mude à medida que você for mexendo no programa.
Não é exatamente a mesma dúvida, mas talvez você ache :arrow: [url=http://forum.clubedelphi.net/viewtopic.php?t=65911]este tópico[/url] interessante.
GOSTEI 0
Marcosrocha
13/02/2007
Mas Massuda, se eu quiser registrar meu software junto ao ISO... Eles vão exigir que eu siga a risca os padrões de programação não vao?
GOSTEI 0
Massuda
13/02/2007
se eu quiser registrar meu software junto ao ISO...
Explique melhor isso.GOSTEI 0
Marcosrocha
13/02/2007
Ouvi dizer que pra ter um controle de qualidade como ISO 9001, 9002 seu código tem que estar perfeitamente escrito conforma o padrão (se não me engano Internacional) de programação...
GOSTEI 0
Massuda
13/02/2007
Ouvi dizer que pra ter um controle de qualidade como ISO 9001, 9002...
ISO900x são normas internacionais que estabelecem um modelo de gestão de qualidade a ser seguido por empresas que voluntariamente desejarem certificar seu sistema de gestão da qualidade.A norma estabelece apenas um modelo de como deveria ser a gestão da qualidade, mas não estabelece obrigatoriedades. Ela define ´o que´ é preciso ter (em termos bem genéricos), mas não define ´como´ fazer.
seu código tem que estar perfeitamente escrito conforma o padrão (se não me engano Internacional) de programação...
Não existe ´padrão internacional´. Alguns setores tem padrões próprios, mas não existe um padrão universal. Na maioria dos casos, não seria um ´crime´ produzir um software bixado.O que ISO900x irá pedir é que, se você tem algum padrão de codificação, ele tem que ser observado e deve haver meios para verificar se isso está ocorrendo.
GOSTEI 0
Marcosrocha
13/02/2007
Entendido!! :wink:
GOSTEI 0
Massuda
13/02/2007
Outra coisa, você não ´registra seu software no ISO´, mas sim sua empresa obtem uma certificação num órgão reconhecido pelo ISO.
GOSTEI 0
Ffabiop
13/02/2007
Boa tarde,
A ISO não vai ditar como você vai codificar seus softwares, ela exige sim que tudo seja documentado, ou seja você vai descrever como se faz as coisas, mas não acredido que seja o caso de análise de código fonte e sim de você cumprir o cliclo de vida da aplicação com tudo documentado. Nesse caso detalhar como vai ser codificado um case é como uma empresa de manufatura descrever como se deve varrer o chão, então naquele ponto o software vai tomar uma decisão sem maiores delongas.
A ISO não vai ditar como você vai codificar seus softwares, ela exige sim que tudo seja documentado, ou seja você vai descrever como se faz as coisas, mas não acredido que seja o caso de análise de código fonte e sim de você cumprir o cliclo de vida da aplicação com tudo documentado. Nesse caso detalhar como vai ser codificado um case é como uma empresa de manufatura descrever como se deve varrer o chão, então naquele ponto o software vai tomar uma decisão sem maiores delongas.
GOSTEI 0
Marcosrocha
13/02/2007
É eu ja entendi como funciona... vc diz pro órgão reconhecido pelo ISO qual é a regra que tem que ser seguida e eles verificam se você fez o software conforme a regra... 8)
GOSTEI 0