PC & Mobile

Pourquoi D3 est-il si difficile d'apprendre de Bl.ocks? – Rossignol

Pourquoi D3 est-il si difficile d'apprendre de Bl.ocks? - Rossignol


Complètement alléchant, l'état actuel des blocs est source de confusion et de technique de codage médiocre.

Commentaires Save Brains

En tant que praticien en début de carrière, je suis attiré par D3 par les graphismes captivants que je vois par les utilisateurs, ainsi que par son interactivité. En tant qu’ancien ingénieur en mécanique, ma nature est de vouloir jouer avec et manipuler les choses. D3 est souvent présenté comme le seul moyen de créer les produits de visualisation de données les plus puissants. L’un des principaux moyens d’apprentissage de D3 est «par exemple» (voir le discours Eyeo 2013 de Mike Bostock «Par exemple») et ces exemples sont généralement hébergés en tant que gists sur GitHub, puis déployés à l’aide du code de Mike, bl.ocks.org ( généralement appelés «blocs») ou via des méthodes similaires comme blockbuilder. La nouvelle entreprise de Bostock, Observable, contient de nombreux nouveaux exemples qui suivent également la même approche que ces blocs originaux.

Je veux commencer par le remercier d'avoir créé D3. C’est un outil incroyable et j’ai hâte de me sentir compétent dans mon utilisation de celui-ci.

Malheureusement, ces blocs qu’il a créés montrent des problèmes majeurs qui peuvent nuire à la capacité de l’apprenant à comprendre le code. Ou peut-être qu'ils ont commencé comme ça? Je suis assez nouveau sur D3 pour ne pas connaître l’histoire d’origine de ces choses. Est-ce qu'ils ont commencé comme des divagations anodines de Bostock alors qu'il jouait avec le jouet magique qu'il venait d'inventer? Avait-il l'intention qu'ils deviennent l'outil de prédilection pour apprendre à utiliser ledit jouet magique? A-t-il jamais imaginé combien d'heures seraient consacrées les futurs disciples à essayer de déchiffrer impuissants non seulement son travail entièrement commenté, mais aussi le travail non commenté et souvent erroné des autres?

J'aime à penser que c'était l'option des divagations inoffensives. De cette façon, je peux excuser Bostock et ceux qui l'ont suivi de la culpabilité de ma frustration personnelle alors que j'apprenais son outil.

Voici un exemple d’une expérience amusante qui nous serait beaucoup plus utile si nous avions des commentaires.

https://bl.ocks.org/mbostock/3231298




Dans l’exemple ci-dessus, n’auriez-vous pas intérêt à avoir une brève explication de l’utilisation de la méthode map? Ou que font .gravity et .charge? Bien sûr, ce sont des choses qui peuvent être recherchées dans l'API D3, mais une brève explication spécifique à ce graphique serait beaucoup plus efficace.

J'apprends le D3 par intermittence depuis environ un an et demi. J’ai parcouru des didacticiels, mais j’aperçois qu’ils ne font qu’effleurer la surface et qu’ils sont souvent fragmentés: apprendre le code permettant de construire une balance ne me dit rien sans le tableau d’accompagnement. De plus, je suis impatient. Une fois que j'ai construit mon premier graphique à barres simple, je voulais tout faire. Et tout cela était assis dans la bibliothèque de blocs! De beaux graphiques interactifs qui avaient l'air si cool. Et tout le code était là pour que je puisse l'utiliser!

Ainsi, mon processus a généralement été le suivant:

  1. Décidez quel type de graphique je veux faire
  2. Rechercher un bloc démontrant ce graphique
  3. Essayez de modifier le bloc pour ingérer mes propres données et répondre à mes propres besoins.

C'est où les choses vont mal. Sans commentaires ni explications sur ce qui se passe en cours de route, il est très difficile pour un débutant de comprendre ce qui se passe. Où dans ce code les données sont-elles ingérées? Comment est-il manipulé? Pourquoi est-il manipulé? Et pourquoi ne fonctionne-t-il pas avec mes données?

Et puis, il y a le problème des blocs écrits avec un code incorrect, ou n'incluant pas les fichiers de données ou les bibliothèques nécessaires. Je tiens une réunion de dataviz près de chez moi et une partie de ce que nous faisons tous les mois consiste à creuser un bloc pour comprendre ce qui se passe. Nous avons rencontré:

  • Code redondant. C’est là que le rédacteur n’était pas sûr de la meilleure méthode pour accomplir sa tâche et a donc utilisé les deux. Comment un débutant est-il supposé reconnaître cela?
  • Blocs qui n'incluent pas tous les fichiers de données nécessaires. La seule façon de recréer un bloc est d’avoir les données avec lesquelles il a travaillé. Sans cela, c’est inutile.
  • Blocs qui sont désorganisés. C’est un problème stylistique que je pourrais vivre mais qui mérite d’être mentionné.

Les blocs d'aujourd'hui semblent être simplement une pièce maîtresse. Un moyen de faire travailler quelqu'un devant d'autres personnes. Ils ne sont ni écrits ni destinés à être utiles à la poursuite de l’apprentissage D3. Je devrais également dire que, mis à part HTML et CSS, c’est le premier langage de codage que j’ai appris, je ne sais donc pas si mon expérience avec D3 est propre à ce langage ou à la façon dont il a appris à coder.

En écrivant cet article, je suis tombé sur des articles et des tutoriels utiles que je souhaiterais avoir lus au tout début de ma carrière (mais je suis impatient). Le didacticiel D3 Github Repo semble avoir des informations plus complètes.

Je me suis moi-même efforcé de commenter tous les blocages dans lesquels je fouille et de corriger les mauvais codes. J'espère que d'autres vont me rejoindre. Je n’en ai fait que quelques-unes mais chaque petit geste compte.

  • Commentez vos blocs. Ecrivez de longues introductions expliquant ce que fait le bloc et les difficultés que vous avez rencontrées. En particulier, commentez les particularités de liaison des données.
  • Incluez tous les fichiers de données nécessaires au bloc. Cela devrait être évident.
  • Inclure des liens vers toutes les bibliothèques supplémentaires que vous avez utilisées.
  • Notez, idéalement dans le titre mais au moins dans l'intro, quelle version vous avez utilisée pour créer le bloc. Les versions importent beaucoup.
  • Ecrivez un compte-rendu détaillé de la façon dont vous avez créé votre truc comme ce mec.

Dans l’ensemble, essayez de vous rappeler ce que c’était lorsque vous avez appris cet outil et repensez à ce qui aurait pu vous aider à rester mystifié à votre bureau. Quand j'ai commencé à apprendre cet outil, je trouvais ça tellement cool qu'il y avait tous ces excellents exemples sur lesquels je pouvais travailler. Un an et demi plus tard, l'outil commence enfin à gagner en transparence. Je me demande à quel point cela aurait pu être plus rapide si ces exemples avaient été plus faciles à comprendre.

Show More

SupportIvy

SupportIvy.com : Un lieu pour partager le savoir et mieux comprendre le monde. Meilleure plate-forme de support gratuit pour vous, Documentation &Tutoriels par les experts.

Related Articles

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Close
Close