Le pseudocode nous aide à comprendre les tâches d'une manière indépendante du langage. Est-ce une meilleure pratique ou une approche suggérée que la création de pseudocodes fasse partie du cycle de vie du développement? Par exemple:
- Identifier et diviser les tâches de codage
- Écrire un pseudocode
- Faites-le approuver [par PL ou TL]
- Commencer le codage basé sur le pseudocode
Est-ce une approche suggérée? Est-il pratiqué dans l'industrie?
design
pseudocode
Vimal Raj
la source
la source
Réponses:
Écrire un pseudocode avant de coder est certainement mieux que simplement coder sans planifier, mais c'est loin d'être une meilleure pratique. Le développement piloté par les tests est une amélioration.
Encore mieux est d'analyser le domaine problématique et de concevoir des solutions en utilisant des techniques telles que les user stories, les cas d'utilisation, les cartes CRC, les diagrammes, comme le préconisent les méthodologies telles que Cleanroom, RUP, Lean, Kanban, Agile, etc.
Comprendre parfaitement la nature du problème et les composants que vous utilisez pour implémenter la solution est le principe derrière les meilleures pratiques.
la source
J'utilise les commentaires comme une sorte de pseudo-code de très haut niveau, en ce sens que j'écris les commentaires avant d'écrire le code. Je trouve que la réflexion sur l'ensemble du problème, même à un niveau élevé, améliore considérablement mon code.
la source
Non, ne pas pseudo-coder d'abord
C'est trop de frais généraux. Vous faites le travail d'écriture de la logique sans aucun des avantages. Je suggère plutôt l'une des options suivantes:
Tous les trois vous dirigent directement vers votre solution, contrairement au pseudo-code. Personnellement, j'ai tendance à utiliser les techniques 1 ou 2 selon la taille de l'équipe. Pour les équipes plus petites (par exemple 5 personnes ou moins), le prototypage fonctionne très bien. Pour les équipes plus importantes qui ont plusieurs groupes de développeurs travaillant en parallèle, j'ai trouvé que la documentation produite tôt par la technique 2 fonctionne bien car elle vous donne quelque chose à discuter tôt et vous aide à mieux définir les limites des composants. Je suis sûr que TDD fonctionnerait très bien aussi, mais je n'ai pas encore travaillé sur une équipe qui s'était engagée dans ce processus.
la source
À mon avis, le pseudo-code n'a que deux objectifs valides:
(1) Pour les étudiants en programmation qui ont besoin d'apprendre les concepts de modularité et d'algorithmes, mais qui ne maîtrisent pas encore un langage de programmation.
(2) Communiquer comment quelque chose fonctionnera à une personne non technique, ou simplement pour des raisons de commodité lors d'une réunion de type tableau blanc.
la source
Le pseudo-code est-il une approche suggérée? Pour les programmeurs débutants, je dis oui. Il aide le nouveau programmeur à apprendre à traduire un problème en code sans se soucier de la syntaxe exacte du langage. Cela façonne le processus de pensée et peut aider à ancrer des habitudes utiles (et je suppose que les mauvaises habitudes aussi). C'est pourquoi il est tellement utilisé dans les écoles.
Est-il pratiqué dans l'industrie? D'après mon expérience, non. Personne n'a le temps d'ébaucher le projet entre la documentation (exigences, spécifications, story-boards, cas d'utilisation ou quoi que ce soit d'autre) et le code réel. On suppose généralement qu'une réflexion suffisante a déjà été mise sur le problème avant le feu vert pour coder. À ce stade, le codage du projet est plus important que l'ajout d'une couche supplémentaire de préparation de conception.
la source
Je recommanderais certainement le pseudocode. Il vous aide à clarifier ce que vous allez faire et à identifier les éléments que vous avez peut-être oubliés ou les problèmes potentiels. Il est beaucoup plus facile / plus rapide de corriger votre code lorsqu'il est encore en phase de planification plutôt que d'attendre d'avoir déjà codé une grande partie de celui-ci.
la source
Le pseudocode peut être utile si vous n'êtes pas familier avec la langue ou si vous devez changer les contextes mentaux. À de rares occasions où j'écris du pseudocode, c'est sur papier. Parfois, simplement retirer les mains du clavier et gribouiller sur du papier peut aider à contourner un blocage mental.
Mais en tant que partie formalisée du processus de développement? En aucune façon. C'est un outil sporadiquement utile pour les individus. Il existe de meilleures façons de «savoir ce que vous écrivez avant de l'écrire», comme:
Je dirais également que l'obtention d'une approbation avant de commencer à écrire du code est susceptible de causer beaucoup plus de tracas que cela ne vaut. Les revues de conception (pré-implémentation) peuvent être utiles, mais elles doivent être à un niveau plus élevé que les algorithmes individuels.
la source
Je vais être en désaccord avec les réponses précédentes et dire non, mais avec une mise en garde: vous ne pouvez vous débarrasser du pseudo-code que si vous êtes fiévreusement dévoué à refactoriser votre code pour résoudre les problèmes qui surviennent. Le pseudo-code est, par essence, un moyen de définir votre code avant de définir votre code; c'est une abstraction inutile dans de nombreuses circonstances, et puisque votre code ne sera jamais parfait la première fois (et probablement, ne suivra pas complètement la conception du pseudo-code), il me semble étranger.
la source
Si vous écrivez COBOL ou C, le pseudocode peut être utile car l'écriture du code réel prendra beaucoup plus de temps, et si vous pouvez vérifier votre algorithme / exigences à partir du pseudocode, vous pouvez gagner du temps.
Dans les langues plus modernes, le pseudocode n'a pas autant de sens. Ce qui fonctionnerait mieux, c'est d'écrire des stubs de méthode, de remplir la logique de niveau supérieur et autant de détails que nécessaire pour vérifier l'algorithme et les exigences, tout cela dans le code réel. Vous pouvez ensuite montrer ce code au chef d'équipe pour approbation et faire démarrer votre vrai code.
la source
Les seules fois où j'ai utilisé le pseudocode au cours des 10 dernières années sont en interview lorsque nous travaillons sur un tableau blanc et la langue particulière n'a pas d'importance.
C'est certainement utile pour parler d'un processus / algorithme en termes lâches sans s'embourber avec la syntaxe. Par exemple, écrire une classe C ++ qui a des propriétés C #, juste pour illustrer le point.
Il a sa place, mais ne doit être utilisé qu'en cas de besoin (c'est du travail que vous jeterez) et ne fait certainement pas partie d'un processus formel, sauf si vous avez des normes de type ISO qui y insistent.
la source
Pour moi-même et les personnes avec qui j'ai travaillé ces dernières années, le pseudocode est devenu un code réel pas tout à fait parfait. à moins que vous ne travailliez avec plusieurs langues en même temps, la plupart des gens semblent commencer à penser selon le schéma général de leur langue principale. J'ai travaillé dans des magasins .net pendant un certain temps, donc les gribouillis du tableau blanc de la plupart des gens autour du bureau ont tendance à ressembler à vb ou c # avec une partie de la ponctuation manquante.
L'exercice est toujours utile lors du débat sur les options et autres, mais le bit indépendant de la langue a tendance à s'éloigner lorsque vous passez plus de temps avec quelques langues.
la source
De plus en plus, le pseudocode est écrit graphiquement avec des outils comme UML. Par exemple, essayez yUML .
la source
Bon travail. Vous avez commencé une bonne discussion. Quant à moi, j'écrivais des pseudo-codes lorsque j'apprenais à programmer pour comprendre les différentes boucles et algorithmes. C'était il y a plus d'un an et demi. À cette époque, même les langages de programmation n'étaient pas très puissants ... et la programmation événementielle était future. Maintenant, avec les 4GL et les 5GL, nous pensons dans la langue elle-même plutôt qu'en anglais ordinaire. Lorsque nous pensons à un problème, nous pensons en termes d'objets et d'opérations. Et tant qu'il ne s'agit pas d'un algo complexe, écrire des pseudo-codes (ou PSEU-DO-Codes, je plaisante) n'a aucun sens. Mieux, représentez la solution de manière graphique.
la source
Cela dépend de la langue utilisée et de votre connaissance de celle-ci.
De nombreux langages modernes tels que Python ou Java sont déjà si proches du pseudocode que l'écriture d'un pseudocode ad hoc en premier est un gaspillage, à mon humble avis. Mieux vaut le faire tout de suite en utilisant l' approche par balle traçante .
C'est une affaire différente si vous faites des choses de bas niveau, proches du métal, ou si vous n'êtes pas encore à l'aise avec le langage que vous utilisez. Le pseudocode peut alors certainement être utile.
la source
Il y a généralement quelques circonstances où le pseudocode a tendance à se décomposer dans mon travail, qui est dans le milieu universitaire où la programmation a tendance à être utilisée comme un outil ou le "et maintenant nous le résolvons" en remplissant le milieu d'un projet:
la source
Ce n'est pas une question de type oui / non. Il faut plutôt se demander quand utiliser un pseudo-code. Il est important de comprendre le problème avant de concevoir une solution, et il est important d'avoir une vision claire de la solution avant de l'implémenter. Le pseudo-code peut être utilisé dans l'une de ces étapes:
Un pseudo-code qui est en fait du code approprié dans un langage de haut niveau est également utilisé, il est généralement appelé prototypage.
En plus de parvenir à la compréhension, le pseudo-code est également bon pour la communication.
Si vous vous demandez si vous devez utiliser régulièrement un pseudo-code, je suis personnellement contre toutes sortes de règles rigides. Cela peut facilement se transformer en une perte de temps ennuyeuse s'il est utilisé pour des problèmes triviaux que tout le monde dans l'équipe comprend. L'utilisation de pseudo-code pour des spécifications que vous maintenez tout au long de la vie du projet peut également être coûteuse et offrir peu de valeur.
la source