JeuWeb - Crée ton jeu par navigateur
Sources générées: déclaratif ou impératif? - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : Sources générées: déclaratif ou impératif? (/showthread.php?tid=7686)



Sources générées: déclaratif ou impératif? - Xenos - 09-08-2016

Salut,

question d'architecture sur vos projets persos ou pros: utilisez-vous des sources générées (c'est à dire des fichiers sources type PHP, JAVA, JS etc intégrés à votre projet, mais dont le contenu est généré et re-générable automatiquement à partir de fichiers hors du projet ou d'un autre langage [type SQL])?

Si oui, sont-ils des fichiers impératifs (classes ayant des méthodes faisant des trucs) ou déclaratifs (classes beans) ?

Perso, j'en ai, sous forme de beans. Je trouve cela pratique. Au taff aussi on en a, mais sous forme impérative (avec méthodes faisant des trucs), ce que je trouve moins pratique (industrialisation du copier/coller). Quel est votre avis?


RE: Sources générées: déclaratif ou impératif? - Prélude - 09-08-2016

Sur mes projets de jeux, je regénère les images de façon automatique. Essentiellement pour avoir les bonnes dimensions en fonction de mes besoins (petit format pour les liste, grand format pour le zoom...). Comme l'interface est amenée à changer dans le temps, je prévois dès le début un fichier de regénération.
Certains contenu de mes bases de données sont également générés à la demande.
Rarement (voir jamais) des fichiers sources.

Dans mon ancien taf, on générait les bases de données uniquement (la structure).


RE: Sources générées: déclaratif ou impératif? - christouphe - 10-08-2016

Salut,

Dans mon projet perso, je génère à partir de la base les Classes de base / Manager / Fabrique avec un système de TAG pour le code ajouté et personnalisable afin de ne pas le perdre. De même pour les modules ou les projet qui ont une structure de base similaires.

C'est pratique lorsque tu modifie la structure d'une table mal fichue ou que tu en ajoutes une, un clic et zou !! Tu n'a qu'à penser au code métier ^^

Fait avec un projet PHP mais adapté en JAVA (en test).


RE: Sources générées: déclaratif ou impératif? - Xenos - 10-08-2016

J'aime pas trop l'idée du "clôner la structure des tables côté PHP": si tu changes la façon de stocker un truc, boum, tout le code client change. Genre si tu renommes une colonne, ça change tout coté PHP. Ou, plus usuel (en tous cas, j'ai à peine commencé VariiSpace que je l'ai déjà fait plusieurs fois), si tu changes la façon de stocker les data coté MySQL (ie: au lieu des colonnes "x, y, z", tu stockes un "idVecteurPosition" qui référence une table "id, x, y, z"), t'as toute la logique côté PHP à changer :\

Pour ma part, du coup, j'essaie plutôt de passer par du full-procédure-stockée (voire des views): ça m'a permis de changer la façon de stocker les données dans les tables sans devoir toucher au PHP (car la procédure garde la même signature).

Et dans ton système, la macanique de sauvegarde et tout, elle est générée, ou tu génère juste sa description (liste de colonnes par exemple) et t'as une classe non générée qui s'en sert pour faire la sauvegarde? Parce qu'en générant toute la logique de sauvegarde, je trouve qu'on finit vite avec du copier/coller (Sonar gueule normalement d'ailleurs) et le nombre de lignes du projet explose (avec un taux de duplication qui suit)...?