OpenClassrooms-Student-Center / Utilisez-des-design-patterns-en-JavaScript

Le projet fil rouge du cours Utilisez des design patterns avec JavaScript
0 stars 151 forks source link

Problématique Constructor Pattern #1

Open Guiloux opened 2 years ago

Guiloux commented 2 years ago

Description

il y a deux fichiers JSON actuellement dans le dossier data :

User Stories

Première User Story

Deuxième User Story

wilonweb commented 2 years ago

Je ne comprend pas le terme issue. C'est comme une mission ? L'idée de l'exercice est de transformer movi-data-json en 2 fichier ( old et new ) ?

Getssone commented 2 years ago

@NinjaTurtles-cloud issue= Question.

En ce qui concerne de l'exercice, de ce que j'ai compris :

movi-data-json = old-movie-data.json

Mais il faut garder les données antérieures d'où le fait qu'on garde le fichier en le renommant et on le croise avec le :

new-movie-data.json

Ceci dans le but de récupéré les nouvelles informations sans devoir tous retravailler dès qu'il y a une petite modification

jerome-foulet commented 2 years ago

Une issue est en général un problème (bug) reporté par un utilisateur du projet en question. Elles peuvent également servir a répertorier les nouvelles fonctionnalités souhaitées.

Concernant l'exercice, il faut simplement changer le code pour le rendre compatible avec le nouveau format de données dans le fichier new-movie-data.json.

a7993n commented 1 year ago

Issues ou (les problèmes) vous permettent de suivre votre travail sur GitHub, où le développement a lieu. Lorsque vous mentionnez un problème dans un autre problème ou une demande d'extraction, la chronologie du problème reflète la référence croisée afin que vous puissiez suivre le travail connexe. Pour indiquer que le travail est en cours, vous pouvez lier un problème à une demande d'extraction.

DamienL47 commented 1 year ago

l'issue est très mal détaillée, il est presque incompréhensible pour un débutant de comprendre ce qui est attendu dans cet exercice, une MAJ s'impose ...

DamienL47 commented 1 year ago

Pour info, pour les futurs débutants qui passe par là et qui veulent apprendre à faire plutôt qu'apprendre à suivre et refaire! pour cet exercice il faut : 1 ) Réaliser le constructeur de Movie comme pour old movie 2 ) Modifier au niveau des getters les éléments qui nécessite une modification (affichage en H/min et affichage du titre fr s'il est présent) voir les ressources suivante pour vous y aider https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/floor, https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/hasOwnProperty, https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Operators/Conditional_Operator 3 ) Ajouter le script au HTML 4 ) Modifier l'appel du Json dans le fichier dans lequel il est appelé pour appeler le nouveau fichier 5 ) Instancier votre nouvelle classe à la place de OldMovie dans le fichier dans lequel elle est instancié Fin de l'exercice.

tdimnet commented 1 year ago

@DamienL47 : attention aux généralités, ce n’est pas parce que tu trouves l’issue mal détaillée que c’est le cas pour tout le monde. Je t’invite à être un peu plus assertif quand tu fais des retours.

Pour revenir sur ton retour en lui-même, je vais voir ce que je peux faire avec Openclassrooms mais je ne travaille plus avec eux depuis bientôt deux ans. Je peux au besoin ajouter des ressources complémentaires sur l’issue.

T’en penses quoi ?

DamienL47 commented 1 year ago

@tdimnet oui je pense que d'ajouter des ressources pour aider les débutant à être dans une démarche de recherche de solutions avant de regarder la solution elle-même serait un bon moyen d'amélioré les issues du cours (attention le cours est génial et très bien expliqué, merci pour ça ...), je trouve juste peut-être pas toujours pertinents d'avoir la video de soluce sans avoir fait l'effort de recherche sur des éléments clés du projet, même si en soit cela contribue au contenu du cours je me demande juste si en terme pédagogique ça apporte une réelle plus-value à l'élève.

je ne sais pas mais peut-être bloquer la vidéos de soluce 12 ou 24h pour stimuler cette démarche de l'élève pourrait engager cette démarche qui est essentielle à mon sens en tant que dev .

Merci de votre retour et pour ce cours encore une fois très bien expliqué

loicmalo commented 1 year ago

Merci pour ce cours qui m'amène à cette question. Quelle est la meilleure pratique ? Mettre la logique dans la classe comme tu l'as fait ou en dehors comme je l'ai fait en pratiquant l'exercice. Par exemple : image Edit : Je viens de voir que tu réponds à ma question dans la suite du cours. Au temps pour moi ^^

tdimnet commented 1 year ago

Bonjour @loicmalo ,

désolé du retard, je reviens de congés. J'étais absent ces deux dernières semaines. Content que tu aies pu avoir la réponse à ta question avant que je revienne.

Un petit "protips" ^^ : hésite pas à copier/coller ton code directement dans les commentaires. C'est souvent beaucoup plus lisible que de faire une capture d'écran.

Après pour prendre du recul sur le cours, il n'y pas forcément de "meilleure pratique". Comme souvent, ça dépend. Ça va dépendre de l'équipe technique avec laquelle tu travailles, du frameworks que tu utilises côté back et/ou front.

En tout cas, ravi que le cours t'ait plu :).

gerardjamin commented 1 year ago

get title(){ const titles = this._title; if("fr" in titles){ return titles.fr; }else{ return titles.en; } }

peut etre un peu plus simple !

Mil00Z commented 2 weeks ago
  1. Pour le setter du titre

=> on peut aussi essayer comme cela :

get title() {

        return this._title.fr ? this._title.fr : this._title.en;

     }
  1. Pour le calcul des minutes, il n'est pas exact en affichage dans la video Solution car la logique codée ne prend pas en compte le "0" à concatener si jamais le minutage (après calcul d'heures) est inférieurs à 10. exemple : le film Batman & Robin est ici écrit 2H5 au lieu de 2H05