Du pseudo-code, des résolutions de problème en Typescript et de la méthodologie.
Les informations que vous trouverez sur ce dépot sont les conclusions auxquelles je suis arrivé au cours de mon propre parcours et ne sont pas pensées pour être des vérités universelles. Pensez à remettre en question le contenu.
Lorsque je commence directement en écrivant du code, il arrive souvent que je progresse dans la résolution du problème par tâtonnement. Je ne me suis jamais réellement senti progresser en travaillant de cette manière. Je pense que l’intelligence dans la résolution de problème se développe avec la capacité à anticiper les choses et lorsqu’on est seul face à son pseudo-code, c’est exactement ce qui se produit.
-
décomposer le problème + se demander quel partie du problème est prioritaire
-
Exploration du besoin 2.1 Se procurer des exemples d’entrée/sorties 2.2 Les cas limites + cas particuliers 2.3 Remettre en question les entrées et les sorties 2.4 Chercher les sous entendus du client pour qui la définition du problème semble évidente
- La validité des entrées
- Les limites des entrées
- classer les entrées peut-il faciliter la résolution du problème ?
- Essayer de résoudre le problème avec le point de vue d’un humain, puis tenter de traduire cette approche humaine en pseudo-code.
- D’abord atteindre "correctness" avant d’investir du temps dans "optimization"
- Certains énoncés de problème embrouillent ou nous conditionnent. Pour rester lucide il faut garder en vue la conversion des entrées en sorties.
- Se permettre de ne pas tous détailler dans le pseudo-code et ranger des procédures simples derrière de l’abstraction. Dans des conditions d’examen ou d’entretien, détailler ce qui nous est simple est une perte de temps.
Il n’y a pas de convention officielle, la seule règle c’est l’efficacité de votre pseudo code. Est ce que votre pseudo
code vous permet d’écrire de code juste et confortablement ? Toutes les règles et conventions que vous vous imposez
doivent répondre à cet unique enjeu.
Le pseudo code ne cible pas un langage de programmation en particulier, il utilise uniquement les briques fondamentales
de la programmation.