GARANTIR DESCONTO

Fórum Qual o correto alinhamento do Case com begin/end? #337775

13/02/2007

0

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 :?:
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

Marcosrocha

Responder

Posts

13/02/2007

Emerson Nascimento

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:
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;



Responder

Gostei + 0

13/02/2007

Marcosrocha

emerson desculpe lhe contradizer mas ainda nem eu estava certo...
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;



Responder

Gostei + 0

13/02/2007

Massuda

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.


Responder

Gostei + 0

13/02/2007

Marcosrocha

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?


Responder

Gostei + 0

13/02/2007

Massuda

se eu quiser registrar meu software junto ao ISO...
Explique melhor isso.


Responder

Gostei + 0

13/02/2007

Marcosrocha

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...


Responder

Gostei + 0

13/02/2007

Massuda

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.


Responder

Gostei + 0

13/02/2007

Marcosrocha

Entendido!! :wink:


Responder

Gostei + 0

13/02/2007

Massuda

Outra coisa, você não ´registra seu software no ISO´, mas sim sua empresa obtem uma certificação num órgão reconhecido pelo ISO.


Responder

Gostei + 0

13/02/2007

Ffabiop

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.


Responder

Gostei + 0

13/02/2007

Marcosrocha

É 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)


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar