
Salutations.
Et oui, les vieilles habitudes ….
Il est difficile d’en changer, surtout quand elles donnent de bons résultats.
Utiliser les boucles pour demander une option ? Tout simplement parce qu’ une étiquette bien conçue et facilement repérable permet de remplacer une remarque explicative, parfois indispensable (

) pour comprendre le déroulement des opérations.
Nous avons droit à 40 caractères. Sans aller jusque là, il faut dire le principal et l’essentiel. Exemple (tiré de la recherche de mots dans l’officiel du scrabble) :
A02.OPTION: K = INKEY$: IF K = "" GOTO A02.OPTION
SELECT CASE K
CASE CHR$(27):
E03.CEFINI: COLOR 15: CLOSE : KILL "C:\DICO\SELECTIO.DIC"
END
CASE "*", "æ": GOTO A01.NOUVEAU
CASE CHR$(0) + "H": NE2H& = NE2H& - 1
CASE CHR$(0) + "I": NE2H& = NE2H& - 23
CASE CHR$(0) + "P": NE2H& = NE2H& + 1
CASE CHR$(0) + "Q": NE2H& = NE2H& + 23
CASE "-": NE2H& = NE2H& - 500
CASE "+": NE2H& = NE2H& + 500
CASE ELSE: GOTO A02.OPTION
END SELECT
IF NE2H& < 1 THEN NE2H& = 1: BEEP
IF NE2H& > Nf2.Tot& THEN NE2H& = Nf2.Tot&: BEEP
GOSUB A01.AFFICHAGE: GOTO A02.OPTION
Tu peux demander la fin du programme, une autre recherche, la ligne précédente, la page précédente, la ligne suivante, la page suivante, la ligne majorée de 500, ou minorée de 500, soit 8 possibilités. Mettre tout cela à l’intérieur du « looping » devrait être possible, peut-être avec des exit, mais les choses ne seraient pas plus claires.
N’avoir que des DO … LOOP ? Je ne sais pas si c’est une solution de clarté. Notamment dans le cas de plusieurs niveaux. Même avec l’indentation (que l’on doit se faire), surtout si les lignes d’un niveau sont fort nombreuses et il peut arriver que tu ne saches plus trop à quel DO correspond un LOOP (on s’y retrouve toujours, mais … ).
Il y a bien d’autres façons de rendre un programme clair et compréhensif pour tous.

Je reconnais que je n’ai pas toujours appliqué ce principe.
Tu me dis :
CitationPar contre, je me suis demandé comment dans ton code, tu pourrais t'en sortir si l'un des mots faisait plus de 32 caractères ? (ok, c'est peu probable, surtout dans la langue française mais...) En cas d'exception ou de fichier corrompu, comment peux tu réagir ?
Tiré du programme de recherche pour le jeu du pendu :
OPEN "C:\DICO\DIC_ODS3.ODS" FOR RANDOM AS #2 LEN = 32' (NE2&)
FIELD #2, 31 AS F.MOT, 1 AS F.SUP
Donc, un mot ne peut comporter plus de 31 caractères (en pratique 25 suffiraient).
Si le fichier est corrompu, le récupérer à partir de la sauvegarde. Si tu n’as pas de sauvegarde : le recréer entièrement …

Salutations.
Moi, mon ordinateur, je l'ai baptisé "Billy" ...
En remerciement, je reçois beaucoup de pages bleues !