O pseudocódigo nos ajuda a entender as tarefas de maneira independente do idioma. É uma boa prática ou abordagem sugerida ter a criação de pseudocódigo como parte do ciclo de vida do desenvolvimento? Por exemplo:
- Identifique e divida as tarefas de codificação
- Gravar pseudocódigo
- Obtenha a aprovação [por PL ou TL]
- Iniciar a codificação com base no pseudocódigo
Essa é uma abordagem sugerida? É praticado na indústria?
design
pseudocode
Vimal Raj
fonte
fonte
Respostas:
Escrever pseudocódigo antes da codificação é certamente melhor do que apenas codificar sem planejamento, mas está longe de ser uma prática recomendada. O desenvolvimento orientado a testes é uma melhoria.
Melhor ainda é analisar o domínio do problema e projetar soluções usando técnicas como histórias de usuário, casos de uso, cartões CRC, diagramação, adotadas por metodologias como Sala Limpa, RUP, Lean, Kanban, Agile, etc.
Compreender completamente a natureza do problema e os componentes que você usa para implementar a solução é o princípio por trás das melhores práticas.
fonte
Uso comentários como uma espécie de pseudo-código de nível muito alto, pois escrevo os comentários antes de escrever o código. Acho que pensar em todo o problema, mesmo em um nível alto, melhora consideravelmente meu código.
fonte
Não, não pseudo-codifique primeiro
Isso é demais. Você está fazendo o trabalho de escrever a lógica sem nenhum dos benefícios. Em vez disso, sugiro o seguinte:
Todos esses três direcionam você diretamente para sua solução, diferentemente do pseudo-código. Pessoalmente, costumo usar as técnicas 1 ou 2, dependendo do tamanho da equipe. Para equipes menores (por exemplo, 5 pessoas ou menos), a prototipagem funciona muito bem. Para equipes maiores que têm vários grupos de desenvolvedores trabalhando em paralelo, eu descobri que a documentação produzida anteriormente pela técnica 2 funciona bem porque fornece algo para discutir cedo e ajuda a definir melhor os limites dos componentes. Tenho certeza de que o TDD funcionaria muito bem também, mas ainda tenho que trabalhar em uma equipe comprometida com esse processo.
fonte
Na minha opinião, o pseudo-código tem apenas dois propósitos válidos:
(1) Para estudantes de programação que precisam aprender os conceitos de modularidade e algoritmos, mas ainda não são fluentes em uma linguagem de programação.
(2) Comunicar como algo funcionará a uma pessoa não técnica ou apenas por conveniência em uma reunião do quadro branco.
fonte
O pseudo-código é uma abordagem sugerida? Para programadores iniciantes, eu digo que sim. Ajuda o novo programador a aprender a traduzir um problema em código sem se preocupar com a sintaxe exata do idioma. Isso molda o processo de pensamento e pode ajudar a incorporar hábitos úteis (e suponho que maus hábitos também). É por isso que é usado tanto nas escolas.
É praticado na indústria? Na minha experiência, não. Ninguém tem tempo para detalhar o projeto entre a documentação (requisitos, especificações, storyboards, casos de uso ou qualquer outra coisa que eles usem) e o código real. Geralmente, supõe-se que já tenha sido pensado o suficiente sobre o problema antes da luz verde para codificar. Nesse ponto, a codificação do projeto é mais importante do que adicionar mais uma camada de preparação do design.
fonte
Eu recomendaria definitivamente o pseudocódigo. Isso ajuda a esclarecer o que você fará e a identificar itens que podem ter esquecido ou problemas em potencial. É muito mais fácil / rápido corrigir seu código quando ele ainda está nos estágios de planejamento, em vez de esperar até que você já tenha codificado uma grande parte dele.
fonte
O pseudocódigo pode ser útil se você não estiver familiarizado com o idioma ou se precisar alterar contextos mentais. Nas raras ocasiões em que escrevo pseudocódigo, está no papel. Às vezes, tirar as mãos do teclado e rabiscar no papel pode ajudar a contornar um bloqueio mental.
Mas como parte formalizada do processo de desenvolvimento? De jeito nenhum. É uma ferramenta esporadicamente útil para indivíduos. Existem maneiras melhores de "saber o que você está escrevendo antes de escrevê-lo", como:
Eu também sugeriria que obter qualquer tipo de aprovação antes de começar a escrever o código provavelmente causará muito mais problemas do que vale a pena. Revisões de design (pré-implementação) podem ser úteis, mas precisam estar em um nível superior aos algoritmos individuais.
fonte
Discordo das respostas anteriores e digo não, mas com uma ressalva: você pode se livrar do código psuedocode apenas se se dedicar febrilmente a refatorar seu código para lidar com problemas que surgem. O Psuedocode é, em sua essência, uma maneira de definir seu código antes de definir seu código; é uma abstração desnecessária em muitas circunstâncias e, como seu código nunca será perfeito na primeira vez (e provavelmente não seguirá o design do psuedocode até a conclusão), isso me parece estranho.
fonte
Se você estiver escrevendo COBOL ou C, o pseudocódigo pode ser útil, pois a gravação do código real levará muito mais tempo e, se você puder verificar seus algoritmos / requisitos a partir do pseudocódigo, poderá economizar algum tempo.
Em linguagens mais modernas, o pseudocódigo não faz tanto sentido. O que funcionaria melhor é escrever stubs de métodos e preencher a lógica de nível superior e os detalhes necessários para verificar o algoritmo e os requisitos, tudo isso no código real. Em seguida, você pode mostrar esse código ao líder da equipe para aprovação e ter seu código real já iniciado.
fonte
As únicas vezes que usei pseudocódigo nos últimos 10 anos são em entrevistas quando estamos trabalhando em um quadro branco e o idioma específico não importa.
Certamente, é útil conversar sobre um processo / algoritmo em termos gerais, sem se preocupar com a sintaxe. Por exemplo, escrever uma classe C ++ que possua propriedades C #, apenas para ilustrar o ponto.
Ele tem o seu 'lugar', mas só deve ser usado onde for necessário (é um trabalho que você jogará fora) e certamente não faz parte de um processo formal, a menos que você tenha padrões do tipo ISO que insistam nele.
fonte
Para mim e para as pessoas com quem trabalhei nos últimos anos, o pseudocódigo praticamente se transformou em código real não totalmente perfeito. a menos que você trabalhe com vários idiomas ao mesmo tempo, a maioria das pessoas parece começar a pensar no padrão geral de seu idioma principal. Eu trabalho nas lojas .net há algum tempo, para que os rabiscos do quadro branco da maioria das pessoas ao redor do escritório pareçam vb ou c # com algumas pontuações ausentes.
O exercício ainda é valioso ao debater opções e afins, mas o pouco agnóstico do idioma tende a se afastar à medida que você passa mais tempo com alguns idiomas.
fonte
Cada vez mais, o pseudocódigo é escrito graficamente com ferramentas como UML. Por exemplo, experimente yUML .
fonte
Ótimo trabalho. Você iniciou uma boa discussão. Na minha época, eu costumava escrever pseudo-códigos quando aprendia programação para entender os vários loops e algoritmos. Isso foi há mais de uma década e meia atrás. Naqueles dias, mesmo as linguagens de programação não eram muito poderosas ... e a programação orientada a eventos era futura. Agora, com 4GLs e 5GLs, pensamos no próprio idioma, e não no inglês comum. Quando pensamos em um problema, pensamos em termos de objetos e operações. E até que seja algo complexo, escrever pseudo-códigos (ou códigos PSEU-DO-códigos, apenas brincando) não faz nenhum sentido. Melhor, represente a solução de maneira gráfica.
fonte
Depende do idioma usado e de sua familiaridade com ele.
Muitas linguagens modernas como Python ou Java já estão tão próximas do pseudocódigo que escrever primeiro um pseudocódigo ad hoc é um desperdício, IMHO. Melhor fazê-lo imediatamente, usando a abordagem de marcador de marcador .
É um negócio diferente se você está criando coisas de baixo nível, próximas ao metal, ou ainda não se sente confortável com o idioma que está usando. Então o pseudocódigo pode definitivamente ser útil.
fonte
Há algumas circunstâncias em que o pseudocódigo tende a ser quebrado no meu trabalho, que é na academia onde a programação tende a ser usada como uma ferramenta ou o preenchimento "e agora resolvemos" no meio de um projeto:
fonte
Este não é um tipo de pergunta sim / não. Em vez disso, deve-se pensar quando usar pseudo-código. É importante entender o problema antes de projetar uma solução e é importante ter uma visão clara da solução antes de implementá-la. O pseudocódigo pode ser usado em qualquer uma destas etapas:
O pseudo-código, que na verdade é o código adequado em uma linguagem de alto nível, também é usado, geralmente chamado de prototipagem.
Além de obter entendimento, o pseudocódigo também é bom para a comunicação.
Se você está se perguntando se deve usar pseudocódigo regularmente, sou pessoalmente contra todos os tipos de regras rígidas. Isso pode facilmente se transformar em um desperdício de tempo chato, se usado para problemas triviais que todos da equipe entendem. O uso de pseudocódigo para especificações que você mantém ao longo da vida do projeto também pode ser caro e oferecer pouco valor.
fonte