Décompte des fonctions appelées (n = 86) et appelantes en cours

This commit is contained in:
Jean Sirmai 2024-07-09 10:45:26 +02:00
parent 5d9e70b03d
commit 73648be58e
Signed by: jean
GPG Key ID: FB3115C340E057E3
2 changed files with 99 additions and 35 deletions

View File

@ -32,11 +32,13 @@
#include "../include/callbacks.h"
/* La question < Comment renommer les fonctions ? >
* dépend d'au moins deux questions et d'au moins deux règles :
/* Comment renommer les fonctions ?
* Cette question dépend de plusieurs choix
* nécessairement provisoires mais nécessaires.
*
*
* > Quel modèle pour l'organisation du client gem-graph ?
* > Sur quel modèle se guider pour organiser le client gem-graph ?
* Comment l'adapter ? Que faut-il garder ? Que faut-il améliorer ?
* https://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93viewmodel
* https://en.wikipedia.org/wiki/Multitier_architecture
*
@ -46,38 +48,48 @@
* (et comment classer et nommer les autres) ?
*
*
* > Ici, les noms doivent être "human-readable" ET "machine-readable.
* > Comment rendre "human-readable" des noms d'un langage "machine-readable" ?
*
* > Toute fonction utilisée par un autre module doit
* _________________
*
* >>> 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)
*
*
* >>> Proposition : Toute fonction utilisée par un autre module doit
* - commencer D'ABORD par le nom de ce module,
* - indiquer ENSUITE sa nature (get, set, print,...)
* - et ENFIN son objet (STATE, RULES,...)
* - et ENFIN son objet (STATE, RULES, STACK,...)
*
* ex: widget_get_RULES_page()
* automat_set_STATE_RULES_DATA()
* on_save_CURRENT_MODEL_before_editing()
* on_save_CURRENT_MODEL()
* model_get_DIM_VALUE()
* model_get_NEXT_ARROW()
* area_get_GRAPH_STACK() ou graph_get_GRAPH_STACK()
*
* 'on_' == callback ('on_' est un alias de 'callbacks')
* 'model' == parse ('model' est un alias de 'parse')
* 'graph' == area ('graph' est un alias de 'area')
* 'on_' == callback ('on_' est un alias de 'callbacks')
* Ainsi, TOUS les callbacks sont dans le fichier 'src/callbacks.c'
* Leur nom commence TOUJOURS par: 'on_'
* ET AUCUN AUTRE nom de fonction ne commence par 'on_'.
*
*
* > selon ces règles, get_user_tree_model()
* devrait être renommé : tree_get_USER_TREE_MODEL()
*
* > si, comme c'est prévisible, 'state.c' devient un dossier contenant :
* les fichiers 'controls.c', 'camera.c', 'contrasts.c' et d'autres
* les fichiers 'controls.c', 'camera.c', 'contrasts.c' et d'autres,
* alors, get_ZOOM_box()
* devrait être renommé : state_camera_get_ZOOM_box()
*
* _________________
*
* >>> nous devons 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.
*
* (2024-07-09 5h00)
*
* QUELLE EST L'ORGANISATION ACTUELLE ?
*
* 1) Les structures hiérarchiques.
* --------------------------------
@ -171,32 +183,73 @@
* >> des 'scripts' pour des 'méta-fonctions' (des 'macros') ?
*
*
* Comment optimiser ?
* -------------------
*
* Modularité <> définir les interfaces entre modules tôt et précisément
* Commenter <> faire tester (pas trop tôt, pas trop tard)
* Tester <> tests graphiques, unaires, profiling...
*/
/* L I S T E D E S F I C H I E R S A R E N O M M E R */
/* (en cours, 2024-07-09 5h00) */
/* Tous les callbacks sont dans le fichier 'src/callbacks.c'
* et leur nom commence par: 'on_'
* (aucun autre nom de fonction ne commence par 'on_').
*
*
*
*
*
*
*
*
*******************************************************************************
* L I S T E D E S F O N C T I O N S A R E N O M M E R *
* *****************************************************************************
*
* Ces fonctions peuvent être énumérées selon leur source ou leur destination.
* Il y a, en tout, à ce jour :
* - (86) fonctions appelées (dont 6 data)
* - (m) fonctions appelantes
* - (e) enum
* - (s) struct
* - (d) define
*
* NB Seules les fonctions spécifiques de gem-graph-client sont prises en compte.
* Les fonctions 'static' ne sont pas comptées.
*
*
*
*******************************************************************************
* 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)
*
* main 1
* callbacks 18
* automat 8 + 2 enum
* parse 8
* 35
*
* graph / area 11 + 1 struct + 1 size_t
* graph / stack 3 + 1 struct + 2 size_t + 1 int
* graph / draw 5
* graph / grid 4
* graph / init 2
* graph / shader.frag 1
* graph / shader.vert 1
* 27
*
* widget / heads 10
* widget / rules 1
* widget / state 1
* widget / stock 2
* widget / tree 2 + 1 struct
* widget / labo 1
* 17
*
* data / image 5
* data / text 2
*
* TOTAL 86
*
* Tous les fonctions appelées par les fonctions callback() sont dans 'widgets.h'
* SAUF celles qui concernent la 'state machine' qui sont dans 'base.h':
* SAUF celles qui concernent la 'state machine', dans 'automat.h', qui sont :
* set_EXEC_EDIT() get_EXEC_EDIT()
* set_STATE_RULES_DATA() get_STATE_RULES_DATA()
* set_OBJECTS_box_RESET_VALUE() get_OBJECTS_box_RESET_VALUE()
* set_SITUATIONS_box_RESET_VALUE() get_SITUATIONS_box_RESET_VALUE()
*
* (Ces fonctions iront dans un fichier 'automat.h')
*
* Les autres fonctions appelées par les fonctions callback() sont :
*
@ -211,10 +264,21 @@
* on_axis_value_change()
* graph_update_axis_stack()
*
*.....
*
*
*
* (en cours - 2024-07-09 5h00)
*
*******************************************************************************
* L I S T E D E S F O N C T I O N S A P P E L A N T E S *
* *****************************************************************************
* (en cours, 2024-07-09 10h40)
*
*
*
*
*
* (déplacer systématiquement les enum, struct, size_t, etc. vers les include ?)
*/

View File

@ -47,7 +47,7 @@
* - CONTRAST en haut permet de modifier un à un les contrastes des objets et des situations
* afin de mieux mettre en évidence l'objet ou le phénomène d'intérêt */
GtkBox *get_XYZ_box()
static GtkBox *get_XYZ_box()
{
GtkBox *XYZ_labels_box = GTK_BOX (gtk_box_new (GTK_ORIENTATION_VERTICAL, 2)); // spacing = 2
GtkBox *XYZ_scrollbar_box = GTK_BOX (gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 2));
@ -186,7 +186,7 @@ static GtkWidget *get_OBJECTS_and_SITUATIONS()
return objects_and_situations_horizontal_pane;
}
GtkWidget *get_SPACE_VIEW_box()
static GtkWidget *get_SPACE_VIEW_box()
{
GtkBox *right_box = GTK_BOX (gtk_box_new (GTK_ORIENTATION_VERTICAL, 2));
gtk_box_append (right_box, GTK_WIDGET (get_XYZ_box()));