Bonjour à tous,
j'ai eus une petite idée : créer une méthode où chacun peut apporter sa pierre à l'édifice.
Programmation intelligente en PureBasic
Ce document rassemble des principes pratiques et poétiques pour réduire les erreurs et programmer avec élégance.
1. Centraliser les variables avec des structures
·Créer une structure unique : regrouper tous les paramètres dans sMesVariables.
·Préfixe clair : utiliser s pour indiquer qu’il s’agit d’une structure.
·Auto-complétion : taper MaVar\ et laisser PureBasic proposer toutes les variables.
Exemple
Structure sMesVariables
Nom.s
Age.i
Temperature.f
Actif.b
EndStructure
Global MaVar.sMesVariables
MaVar\Nom = "Gabriel"
MaVar\Age = 42
MaVar\Temperature = 36.5
MaVar\Actif = #True
2. Initialiser les structures
·Procédure d’initialisation : remplir la structure avec des valeurs par défaut.
Procedure InitMesVariables(*vars.sMesVariables)
*vars\Nom = "Inconnu"
*vars\Age = 0
*vars\Temperature = 0.0
*vars\Actif = #False
EndProcedure
InitMesVariables(@MaVar)
3. Centraliser les procédures
·Éviter les doublons : une seule procédure paramétrable au lieu de plusieurs similaires.
·Utiliser des arguments : passer les différences en paramètres.
Exemple
Procedure DessinerForme(TypeForme.i, x.i, y.i, Taille.i, Couleur.i)
If StartDrawing(CanvasOutput(#Canvas))
Select TypeForme
Case 1
Circle(x, y, Taille, Couleur)
Case 2
Box(x, y, Taille, Taille, Couleur)
Case 3
LineXY(x, y, x + Taille, y + Taille, Couleur)
EndSelect
StopDrawing()
EndIf
EndProcedure
4. Structurer et nommer clairement
·Modules thématiques : regrouper les fonctions par domaine.
·Noms explicites : éviter les abréviations obscures.
·Commentaires utiles : expliquer l’intention, pas l’évidence.
5. Réduire les erreurs courantes
·Limiter les variables globales : préférer les locales.
·Compiler par étapes : tester régulièrement.
·Procédures de validation : automatiser les contrôles simples.
6. Favoriser la réutilisation
·Bibliothèques personnelles : conserver les procédures génériques dans des fichiers séparés.
·Valeurs par défaut : simplifier l’appel des fonctions.
7. Ritualiser la programmation
·Relire avant d’ajouter : vérifier si une fonction existe déjà.
·Créer des rosaces de logique : visualiser les conditions comme une architecture vivante.
·Harmoniser les couleurs et symboles : enrichir l’interface pour mieux percevoir les structures.
Qu'en pensez-vous ?
Microsoft Windows 10 Famille 64 bits : Carte mère : ASRock 970 Extreme3 R2.0 : Carte Graphique NVIDIA GeForce RTX 3080 : Processeur AMD FX 6300 6 cœurs 12 threads 3,50 GHz PB 6.20 LTS (x64)
Un homme doit être poli, mais il doit aussi être libre !
Bonjour falsam, je suis d'accord pour ça que chacun a son coup de patte et j'aimerais que ceux qui le souhaitent partagent ce savoir, car le savoir plus on le partage et plus ils se multiplie et chacun peut apporter sa pierre à l'édifice pour que quelqu'un qui passe sur ce forum puisse se dire "voilà une communauté puissante par l'entraide et je veux en faire partie.". Moi je n'oblige personne, mais je me dis qu'on pourrait faire quelque chose de grand avec PureBasic et que c'est peut-être ça qui pourrait devenir la renommée de ce logiciel de programmation incontournable, car avec PureBasic, on peut utiliser différentes manières pour arriver au même résultat.
Microsoft Windows 10 Famille 64 bits : Carte mère : ASRock 970 Extreme3 R2.0 : Carte Graphique NVIDIA GeForce RTX 3080 : Processeur AMD FX 6300 6 cœurs 12 threads 3,50 GHz PB 6.20 LTS (x64)
Un homme doit être poli, mais il doit aussi être libre !
Salut
Je trouve l'idée sympa. Même si chacun a sa manière de programmer, il y a des bonnes habitudes qui profitent à tout le monde, comme bien nommer ses variables ou éviter de dupliquer du code.
Et puis voir comment les autres s'organisent dans leurs projets PureBasic est toujours intéressant. On découvre souvent des astuces ou des méthodes auxquelles on n'aurait pas pensé soi-même. C'est aussi ça qui fait vivre une communauté.
Bonjour Mathew, pour ma part, je pense que les variables structurées sont plus faciles à utiliser, car on a moins de risques de se tromper, mais ça n'engage que moi, chacun a ses préférences et je les respectent.
Microsoft Windows 10 Famille 64 bits : Carte mère : ASRock 970 Extreme3 R2.0 : Carte Graphique NVIDIA GeForce RTX 3080 : Processeur AMD FX 6300 6 cœurs 12 threads 3,50 GHz PB 6.20 LTS (x64)
Un homme doit être poli, mais il doit aussi être libre !
Salut a tous et a mon ami Micoute en particulier
Pour moi les variables j'ai pris l'habitude de faire comme ceci
;***********************************************************
#fen = 1:#bandimage = 3:#bandimage2 = 4:#trait3d1 = 5:#compbbg = 6:#compbbgd= 7:#traitsoulH = 8;gadget de base base de la fenêtre
#btB_alr =10:#btB_tc =11;boutons
#btstopalr = 15:#btraztc = 16:#btstoptc = 17:#btbarre = 18:#btaid = 19:#btstop = 20;boutons
#txtH1 = 25:#txtH2 = 26:#txtH3 = 27:#txtH4 = 28:#txtH5 = 29:#txtH6 = 30 ; les textes
;*******************************************************************
ceci permet de d'avoir un programmation plus souple. De faire par exemple ceci
Macro Coulgad(gad,cf,ct,ft)
SetGadgetColor(gad,#PB_Gadget_FrontColor,ct):SetGadgetColor(gad,#PB_Gadget_BackColor,cf):SetGadgetFont(gad,ft)
EndMacro
for x = 15 to 20
Coulgad(X,ce que tu shouaite en couleur de fond,couleur de texte,fonte)
next
Perso je trouve cela pratique.
Mais chacun son truc
Mon très cher ami MLD, je connais très bien ta façon de programmer pour avoir collaboré toi avant le grand confinement et qu'au début, ça m'avait un peu dérouté et que j'ai finalement trouvé très intelligent d'appeler le gadget par son matricule.
Je te souhaite le meilleur.
Microsoft Windows 10 Famille 64 bits : Carte mère : ASRock 970 Extreme3 R2.0 : Carte Graphique NVIDIA GeForce RTX 3080 : Processeur AMD FX 6300 6 cœurs 12 threads 3,50 GHz PB 6.20 LTS (x64)
Un homme doit être poli, mais il doit aussi être libre !