From f8a2494f381ae13d76f03bbc5e21ab8719fe486a Mon Sep 17 00:00:00 2001 From: Jean Sirmai Date: Tue, 9 Jul 2024 23:03:11 +0200 Subject: [PATCH] Progress report. Status: awaiting structure review and naming recommandations --- include/automat.h | 14 +++++------ src/automat.c | 4 +++- src/main.c | 61 ++++++++++++++++++++++++++++++++++------------- 3 files changed, 54 insertions(+), 25 deletions(-) diff --git a/include/automat.h b/include/automat.h index 9a43ef0..7cd48ad 100644 --- a/include/automat.h +++ b/include/automat.h @@ -36,17 +36,17 @@ /* S T A T E M A C H I N E */ /******************************************************************************/ -static enum choice_EXEC_EDIT { EXEC, EDIT }; // xor -static enum choice_STATE_RULES_DATA { STATE, RULES, DATA }; // xor - -void set_EXEC_EDIT (int prescribed); -void set_STATE_RULES_DATA (int prescribed); -void set_OBJECTS_box_RESET_VALUE (int prescribed); -void set_SITUATIONS_box_RESET_VALUE (int prescribed); +enum choice_EXEC_EDIT { EXEC, EDIT }; // xor +enum choice_STATE_RULES_DATA { STATE, RULES, DATA }; // xor int get_EXEC_EDIT (); int get_STATE_RULES_DATA (); int get_OBJECTS_box_RESET_VALUE (); int get_SITUATIONS_box_RESET_VALUE (); +void set_EXEC_EDIT (int prescribed); +void set_STATE_RULES_DATA (int prescribed); +void set_OBJECTS_box_RESET_VALUE (int prescribed); +void set_SITUATIONS_box_RESET_VALUE (int prescribed); + diff --git a/src/automat.c b/src/automat.c index 7961600..7fce570 100644 --- a/src/automat.c +++ b/src/automat.c @@ -132,8 +132,10 @@ static void debug_printing (int prescribed, int sub_automaton) { } } + + /******************************************************************************/ /* N O N E X C L U S I V E S E L E C T I O N S */ /******************************************************************************/ -// c'est quoi ça, déjà ? +// ? diff --git a/src/main.c b/src/main.c index aca4e64..72fc76e 100644 --- a/src/main.c +++ b/src/main.c @@ -47,7 +47,6 @@ * pour qu'on puisse décider de les renommer * (et comment classer et nommer les autres) ? * - * * > Comment rendre "human-readable" des noms d'un langage "machine-readable" ? * * _________________ @@ -55,7 +54,7 @@ * >>> Nous avons à nous choisir des règles de renommage des fonctions * qui soient conformes aux 'bonnes pratiques' du 'génie logiciel' * ET soient les plus pertinentes possibles pour notre cas particulier. - * (en cours, 2024-07-09 10h40) + * (interrompu le 2024-07-09 à 23h00) * * * >>> Proposition : Toute fonction utilisée par un autre module doit @@ -163,6 +162,13 @@ * tels que chaque état de la fenêtre soit une combinaison unique * des états de ces sous-automates. * + * Exemple, muni des deux 'sous-automates' : + * > { EXEC, EDIT }; // xor + * > { STATE, RULES, DATA }; // xor + * la 'state machine' peut se trouver dans 2 x 3 = 6 états. + * (voir automat.h lignes 39-40) + * + * * Les grandes fonctions du client seront lancées par cette state machine : * - édition automatique (optimisation) de l'arbre des conditions * - tests sur un mini-serveur local @@ -210,10 +216,11 @@ * (déplacer systématiquement les enum, struct, size_t, etc. vers les include ?) * * + * ******************************************************************************* * L I S T E D E S F O N C T I O N S A P P E L É E S * * ***************************************************************************** - * (en cours, 2024-07-09 10h40) + * (interrompu le 2024-07-09 à 23h00) * * main 1 * callbacks 18 @@ -244,7 +251,7 @@ * TOTAL 86 * * Tous les fonctions appelées par les fonctions callback() sont dans 'widgets.h' - * SAUF celles qui concernent la 'state machine', dans 'automat.h', qui sont : + * SAUF les 8 suivantes qui concernent la 'state machine' et qui sont dans 'automat.h' : * set_EXEC_EDIT() get_EXEC_EDIT() * set_STATE_RULES_DATA() get_STATE_RULES_DATA() @@ -273,35 +280,55 @@ ******************************************************************************* * L I S T E D E S A P P E L S D E F O N C T I O N S * * ***************************************************************************** - * (en cours, 2024-07-09 10h40) + * grep -r "set_EXEC_EDIT" | wc > 5 lignes + * mais il n'y a que 2 appels des fonctions * - * - QUOI - - COMBIEN - D'OÙ - + * NB vérifier que tous les accès aux variables + * passent systématiquement par les get / set. (en utilisant 'static') * - * get / set _EXEC_EDIT 3 callbacks ( 1 get + 2 set ) - * 1 widget / state * - * get / set _STATE_RULES_DATA 4 callbacks ( 1 get + 3 set ) * - * get / set _OBJECTS_box_RESET_VALUE 1 callbacks ( 1 set ) + * - QUOI - - COMBIEN - D'OÙ - + * + * + * on_windows_activation 1 main + * + * + * get_EXEC_EDIT 1 callbacks + * 1 widget / state + * + * set_EXEC_EDIT 2 callbacks + * + * get_STATE_RULES_DATA 1 callbacks + * + * set_STATE_RULES_DATA 3 callbacks + * + * get_OBJECTS_box_RESET_VALUE 1 automat + * + * set_OBJECTS_box_RESET_VALUE 1 callbacks + * + * get_SITUATIONS_box_RESET_VALUE 1 automat + * + * set_SITUATIONS_box_RESET_VALUE 1 callbacks + * + *..... * * * * - * interrompu 2024-07-09 15h07 + * (interrompu le 2024-07-09 à 23h00) * * - * Ce décompte est difficile en l'état actuel car il faut vérifier que tous - * les accès aux variables passent systématiquement par les get / set. - * (vérifier que toutes ces variables sont bien 'static') - * - * ex : grep -r "_EXEC_EDIT" | wc > 29 lignes - * mais il n'y a que 4 appels des fonctions get ou set _EXEC_EDIT * * * * * Faut-il déplacer systématiquement les enum, struct, size_t, etc. * vers les include ? + * + * + * + * */