Programmation intelligente en PureBasic

Sujets variés concernant le développement en PureBasic
Avatar de l’utilisateur
Micoute
Messages : 2631
Inscription : dim. 02/oct./2011 16:17
Localisation : 35520 La Mézière

Programmation intelligente en PureBasic

Message par Micoute »

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 !
Avatar de l’utilisateur
falsam
Messages : 7417
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: Programmation intelligente en PureBasic

Message par falsam »

Tu as ton style de codification et j'ai mon style de programmation 😉
Configuration : Windows 11 Famille 64-bit - PB 6.23 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Avatar de l’utilisateur
Micoute
Messages : 2631
Inscription : dim. 02/oct./2011 16:17
Localisation : 35520 La Mézière

Re: Programmation intelligente en PureBasic

Message par Micoute »

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 !
Mathew
Messages : 11
Inscription : dim. 21/juin/2026 21:57

Re: Programmation intelligente en PureBasic

Message par Mathew »

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é.
Avatar de l’utilisateur
Micoute
Messages : 2631
Inscription : dim. 02/oct./2011 16:17
Localisation : 35520 La Mézière

Re: Programmation intelligente en PureBasic

Message par Micoute »

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 !
Avatar de l’utilisateur
MLD
Messages : 1134
Inscription : jeu. 05/févr./2009 17:58
Localisation : Bretagne

Re: Programmation intelligente en PureBasic

Message par MLD »

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
Avatar de l’utilisateur
Micoute
Messages : 2631
Inscription : dim. 02/oct./2011 16:17
Localisation : 35520 La Mézière

Re: Programmation intelligente en PureBasic

Message par Micoute »

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 !
Avatar de l’utilisateur
MLD
Messages : 1134
Inscription : jeu. 05/févr./2009 17:58
Localisation : Bretagne

Re: Programmation intelligente en PureBasic

Message par MLD »

@ Micoute
Merci mon ami.
J'espère que vous cuisez pas trop.
A+
Répondre