Pensez comme un programmeur : Concepts de codage pour les non-développeurs | Brian Holt | Skillshare
Menu
Recherche

Vitesse de lecture


  • 0.5x
  • 1 x (normale)
  • 1.25x
  • 1.5x
  • 2x

Pensez comme un programmeur : Concepts de codage pour les non-développeurs

teacher avatar Brian Holt, Front-end Developer

Regardez ce cours et des milliers d'autres

Bénéficiez d'un accès illimité à tous les cours
Suivez des cours enseignés par des leaders de l'industrie et des professionnels
Explorez divers sujets comme l'illustration, le graphisme, la photographie et bien d'autres

Regardez ce cours et des milliers d'autres

Bénéficiez d'un accès illimité à tous les cours
Suivez des cours enseignés par des leaders de l'industrie et des professionnels
Explorez divers sujets comme l'illustration, le graphisme, la photographie et bien d'autres

Leçons de ce cours

    • 1.

      Introduction

      0:33

    • 2.

      La console Javascript

      1:19

    • 3.

      Commencez avec des données

      7:55

    • 4.

      Penser avec des variables

      4:05

    • 5.

      Comprendre les composants

      3:27

    • 6.

      Utiliser des motifs

      4:15

    • 7.

      Appliquer l'automatisation

      3:00

    • 8.

      Conclusion

      0:08

  • --
  • Niveau débutant
  • Niveau intermédiaire
  • Niveau avancé
  • Tous niveaux

Généré par la communauté

Le niveau est déterminé par l'opinion majoritaire des apprenants qui ont évalué ce cours. La recommandation de l'enseignant est affichée jusqu'à ce qu'au moins 5 réponses d'apprenants soient collectées.

747

apprenants

1

projet

À propos de ce cours

Ce cours explore les concepts de développement logiciel de haut niveau afin que les apprenants les appliquent à leurs élèves au quotidien. Nous allons aborder les problèmes et les décomposer à l'aide de programmeurs techniques. Les apprenants vont également apprendre mieux à travailler avec des développants.

Ce cours s'adresse à toutes les personnes curieuses dans le développement de logiciels, notamment les concepteurs, les spécialistes de produits, les gestionnaires de produits, les propriétaires de produits et les propriétaires de petites entreprises et toute personne qui travaille avec les programmeurs.

Aucune connaissance préalable n'est requise, et ce cours n'exige aucune expérience de programmation préalable.

Aucun logiciel n'est requis, car tous les exercices peuvent être effectués sur papier (ou dans un Google Doc, ou quelque chose de similaire).

Rencontrez votre enseignant·e

Teacher Profile Image

Brian Holt

Front-end Developer

Enseignant·e

Hi! I'm a front-end developer living in Vancouver, Canada, who's focused on scalable design systems. I generally work on large Ruby on Rails applications and have worked on a variety of front-end single-page-applications with React + Redux and Elm. Currently, I'm at Retail Zipline.

I come from the design world, where I worked as a graphic designer and creative director at some smaller agencies and through freelance work. When clients began expressing interest in moving their brands online, I jumped at the opportunity and moved in User Experience Design and Web Development. Since then, I've learned full-stack development, though my focus is on the front-end.

I really enjoy teaching and mentoring. From teaching User Experience courses to instructional articles... Voir le profil complet

Level: Beginner

Notes attribuées au cours

Les attentes sont-elles satisfaites ?
    Dépassées !
  • 0%
  • Oui
  • 0%
  • En partie
  • 0%
  • Pas vraiment
  • 0%

Pourquoi s'inscrire à Skillshare ?

Suivez des cours Skillshare Original primés

Chaque cours comprend de courtes leçons et des travaux pratiques

Votre abonnement soutient les enseignants Skillshare

Apprenez, où que vous soyez

Suivez des cours où que vous soyez avec l'application Skillshare. Suivez-les en streaming ou téléchargez-les pour les regarder dans l'avion, dans le métro ou tout autre endroit où vous aimez apprendre.

Transcription

1. Introduction: Bienvenue sur Think Like a Programmer, où les concepteurs, les spécialistes du marketing, les responsables de produits, ou vraiment toute personne qui est curieuse de processus de développement en direct verront ce qui se cache derrière le rideau. Dans ce cours, nous analyserons des concepts de résolution de problèmes de haut niveau et apprendrons comment vous pouvez les appliquer à votre propre travail quotidien. En outre, vous obtiendrez quelques informations sur le travail plus efficace avec les programmeurs. Ma carrière a commencé dans le graphisme, mais quand j'ai appris la programmation en tandem, j'ai découvert que je pouvais appliquer des concepts comme automatisation à mon quotidien et rendre mon travail plus facile et j'espère montrer ces choses avec vous. Commençons. 2. La console Javascript: Les exemples de code dans ce cours ont été faits en Javascript. Vous pouvez suivre si vous souhaitez avoir une idée de la lecture du code. Tous les navigateurs Web ont Javascript intégré dans eux et un outil appelé la console pour interagir avec cela. Javascript alimente beaucoup des interactions riches que vous voyez sur le web aujourd'hui. Ce sont des choses comme retourner à travers les images de produits sur Amazon, aimer les messages sur Facebook, les vidéos sont auto-play sur YouTube et bien plus encore. Nous ne plongerons pas en profondeur dans JavaScript, mais c'est le langage parfait à suivre. Ouvrez la console en cliquant avec le bouton droit sur n'importe quelle page, en sélectionnant « Inspecter », puis en cliquant sur l'onglet « Console ». Ici, vous pouvez faire n'importe quoi en Javascript, des mathématiques simples. Vous pouvez écrire des messages. Vous pouvez accéder à n'importe quoi dans l'API JavaScript pour faire quelque chose comme l'accélération de la vidéo. La plupart des Javascript à faire dans la console n'est pas permanent. Si vous vous sentez comme vous avez jeté avec quelque chose, vous pouvez actualiser la page et il se réinitialisera. 3. Commencez avec des données: Lors de la résolution d'un problème, les programmeurs commencent par les données. C' est un moyen d'identifier rapidement certaines des pièces en mouvement de l'œuvre. Lorsque nous parlons de données, nous parlons en fait de la valeur connue. Dans le logiciel, le morceau de données est la valeur enregistrée. C' est ce que le programme a enregistré qui en fait la source de la vérité. Utiliser des données où les valeurs connues seront toujours plus faciles à comprendre que de travailler avec des valeurs inconnues. C' est pour ça que nous commençons par ça. programmeurs cherchent toujours à rendre les problèmes aussi tangibles que possible afin de réduire la complexité. Par exemple, si l'on considère les mathématiques simples, il est facile de comprendre qu'un plus un est égal deux parce que nous travaillons avec des valeurs réelles. Si l'une de ces valeurs disparaît, un plus quelque chose équivaut à deux, le problème devient un peu plus difficile. Ou dans les délais, il est tellement plus facile de planifier quand vous connaissez les échéances réelles. C' est pourquoi nous commençons avec les données autant que possible. Dans les langages de programmation, les données sont classées par leur type, et un type est juste un moyen de définir le type de données avec lequel nous travaillons. Les langages de programmation diffèrent dans la façon dont ils catégorisent les types, mais la plupart d'entre eux s'accordent sur une forme quelconque des quatre suivants : nombres, chaînes, booléens et valeurs nulles. Les nombres sont pour n'importe quel type de nombre. Cela inclut les nombres positifs, négatifs et décimaux. Les chaînes sont pour les mots, qu'ils soient un ou plusieurs et sont toujours enveloppées entre guillemets. booléens sont pour l'un ou l'autre des scénarios, particulier si quelque chose est vrai ou faux. Par exemple, une case à cocher, qu'elle soit complète ou incomplète. Tu peux y penser comme un interrupteur. C' est allumé ou éteint. Les valeurs Null sont des données qui indiquent explicitement qu'il n'y a pas de données. Une valeur NULL est utilisée lorsque les données ne sont pas présentes, comme avant que quelque chose n'ait été enregistré. Il représente une valeur vide connue. Certains langages de programmation utilisent des noms légèrement différents ou incluent des types supplémentaires, mais ces quatre peuvent être considérés comme des types de haut niveau, ils sont appelés types primitifs. Il est utile d'organiser les données dans un format pour les rendre plus faciles à utiliser. Ces arrangements sont appelés structures de données. Les structures de données acceptent simplement des données arbitraires et les mettent dans un format spécifique. Le type de structure choisi par le développeur dépend de ce qu'ils ont l'intention d'en faire et des modèles de langage de programmation. Ce sont les deux structures de données les plus courantes : les listes et les objets. Sautons dans la console JavaScript pour voir à quoi ils ressemblent. Une liste est un moyen simple d'envelopper une collection de données. Par exemple, vous pouvez avoir une liste de mois. Lorsqu' ils sont dans une liste, vous pouvez appliquer un effet à tous, comme les majuscules. Chaque analyste d'entrée a donné un index qui fournit un moyen d'accéder à une valeur spécifique si vous connaissez l'index. Intuitivement, les index commencent à partir de zéro au lieu d'un. Ce qui signifie que si nous voulons accéder à March dans notre liste, nous devons en utiliser deux même si c'est la troisième valeur. De même, si nous voulons accéder au mois de janvier, nous devons utiliser zéro. Commençons par se limiter à des niveaux uniques qui peuvent être imbriqués pour contenir beaucoup plus de données, comme inclure le nombre de jours dans le mois. Maintenant que nous avons des listes imbriquées, il devient un peu plus difficile d'accéder aux données que nous voulons. Un objet est une structure qui attribue des données aux clés, ce qui facilite l'appel de la valeur correcte. Si nous transformons une liste de mois en un objet, il est beaucoup plus facile d'accéder à la valeur que nous voulons. Si nous voulons Mars, nous pouvons l'appeler par sa clé, Mars. Maintenant, nous avons sa valeur de nom, et il valeur de jours. Dans un objet, il est un peu plus difficile d'appliquer un effet comme quand on a tout fait majuscules, mais c'est toujours possible. Une base de données est l'endroit où les données réelles sont stockées. C' est la source de la vérité. Tout ce qui se trouve dans la base de données est la représentation réelle de ce que contient le système. Une base de données peut sembler un concept difficile, mais il s'agit simplement d'une collection de tables, comme une table Excel. Chaque entrée d'une base de données est représentée dans une ligne et chaque propriété sous la forme d'une colonne. L' obtention de données à partir d'une base de données se fait le plus souvent avec SQL, qui signifie Structured Query Language, et S-Q-L écrit. Il permet aux programmeurs d'écrire des instructions qui collectent des données dans une structure de données demandée afin de les afficher, mettre à jour, de les supprimer et de les ajouter. SQL est extrêmement rapide, mais l'organisation des données peut être compliquée. Eh bien, une seule table pourrait peut-être contenir toutes les données d'une application. Si l'application est petite, plus il y a de données ajoutées à la table, l'exécution de SQL est lente. Mettre toutes les données sur une seule table est considéré comme une mauvaise pratique pour cette raison. Les programmeurs cassent les concepts dans leur propre table. Cela peut ajouter de la complexité car les programmes devront écrire une requête qui s'exécute sur plusieurs tables pour obtenir les données demandées. C' est en partie ce qui peut créer une demande coûteuse, mais elle est très dépendante la configuration spécifique du système et il existe des techniques pour optimiser les performances. Lorsque vous travaillez avec des applications Web, la connexion Internet joue également un rôle dans la diffusion des données. Lorsque des données supplémentaires sont demandées, plus de données doivent être envoyées sur Internet. Si la connexion est lente et qu'il y a beaucoup de données à envoyer, la page Web peut s'écouler ou se bloquer. Il est préférable d'envoyer uniquement les données nécessaires. Regardons un exemple. Ce tableau représente les commentaires et est modélisé à partir d'Instagram. Il y a quatre colonnes de propriétés, ID, ID utilisateur, ID photo et commentaire. La dernière colonne contient les commentaires qui apparaissent sur la publication. La première colonne, la colonne ID, nous permet d'accéder au bon commentaire. Cela fonctionne comme l'accès à une entrée dans une liste. Les colonnes deux et trois contiennent le nom d'utilisateur et l'identifiant photo. Comme je l'ai mentionné, nous pourrions contenir toutes les informations utilisateur et photo directement sur cette table, mais c'est une mauvaise pratique. Au lieu de cela, nous incluons uniquement l'ID utilisateur et l'ID photo. Lorsque nous voulons accéder aux informations sur l'utilisateur, comme leur nom dans avatar, nous avons l'ID correct à interroger, puis nous faisons une requête sur la table des utilisateurs. De plus, lorsque nous mettons à jour ou supprimons un commentaire, nous n'affectons pas l'utilisateur ou la table de photos, ce qui signifie que la requête peut s'exécuter plus rapidement. Penser les données de cette façon peut raconter une histoire. Regardons un peu plus près le contenu pour voir ce qui se passe ici. Regardez dans le commentaire de l'ID d'utilisateur, est-ce que quelque chose se distingue pour vous ? Les deux premières lignes ont le même ID, ce qui signifie que ces commentaires proviennent du même utilisateur. Si nous regardons le commentaire d'identification photo, nous voyons également les deux premières lignes ont le même ID. Cela signifie que cet utilisateur a commenté deux fois la même photo. Si nous continuons à inspecter la colonne d'identification photo, nous voyons deux autres utilisateurs ont commenté la même photo. Connaître un peu les types, les structures de données et les bases de données les aidera à travailler avec les développeurs. Mais penser aux données comme valeur réelle devrait apporter de la clarté pour travailler même en dehors de la programmation. Voici quelques conseils. abord, pensez à ce que vous aimeriez faire et où cela pourrait aller dans le futur. Pensez à ce que vous attendez de travailler et à la façon dont vous comptez l'obtenir. Enfin, pensez à ce dont vous êtes certain et à ce dont vous n'êtes pas sûr. Pour les exercices, je veux que vous pensiez aux données nécessaires pour créer cet écran Instagram, et identifiez également les concepts indépendants qui ont leur propre table de base de données. Nous avons déjà identifié les commentaires d'une partie des autres. Ajoutez vos réponses à votre projet, et je vous verrai dans la prochaine vidéo. 4. Penser avec des variables: Traiter des données concrètes est le moyen le plus simple de résoudre un problème. Mais parfois, vous n'avez pas de données réelles à utiliser, ou il existe de nombreuses options possibles pour ces données. Lorsque c'est le cas, programmeurs utilisent des variables pour aller de l'avant. Les variables dans la programmation peuvent être un peu différentes de la façon dont vous pensez à elles dans la vie quotidienne. En programmation, une variable est une abstraction. C' est comme un conteneur qui contient des informations. C' est une façon de parler de quelque chose sans être concret à ce sujet, ou lorsque la valeur réelle est inconnue. Il peut également être un moyen pratique de référencer quelque chose sans le dire explicitement à chaque fois. En outre, les variables peuvent changer ou contenir une valeur différente de celle prévue. Mais nous n'avons pas besoin de nous en soucier à ce moment. Les variables sont utilisées tout autour de nous, même en dehors de la programmation. Il y a beaucoup de parties différentes qui composent une chanson, un verset, un pré-chœur, un chœur, un intermède, etc. Chacune de ces parties sont des variables, tiennent une valeur, mais nous pouvons les référencer par leur nom abstrait. Si nous voulons en connaître le contenu, nous accédons à l'information par nom. En outre, certaines parties, comme le chœur, sont réutilisées mais conservent le même contenu. Au lieu de l'appeler choeur 1 et choeur 2, on l'appelle simplement choeur. Les dates limites d'un projet peuvent être nommées avec des variables au lieu de, ou en plus de leurs dates réelles, version bêta, de la sortie Alpha , de la date de mise en ligne, etc. Cela nous permet de penser au travail qui est contenu dans le cadre du jalon. Les concepteurs utilisent des variables tout le temps, nommez les couleurs. Au lieu d'appeler une valeur RVB ou hexadécimale de couleur, nous pourrions l'appeler bleu clair, bleu ou bleu foncé. Dans la programmation, les variables sont l'un des premiers outils que nous utilisons. Dans notre exemple de liste, j'ai affecté la liste des mois à une variable appelée Mois, donc je peux la réutiliser encore et encore sans avoir besoin de réécrire le contenu encore et encore. Lorsque nous avons fait les noms de mois en majuscules, une variable changeante a été faite. Je peux faire chaque mois majuscule sans me soucier de laquelle il était réellement. De nombreuses applications ont une variable appelée utilisateur courant. Il permet aux programmeurs d'écrire une application, mais de fournir des expériences uniques à différentes personnes. Utilisateurs actuels affectés à votre profil, une fois que vous vous connectez pour obtenir votre propre contenu. Si nous n'avions pas de variables, la programmation serait probablement impossible. En dehors de la programmation, penser avec des variables peut vous aider à faire avancer votre travail. Utilisez des variables pour décomposer le travail en morceaux plus petits, même lorsque quelque chose est inconnu, abstraisez un concept ou une partie de la discussion. Tu n'as pas besoin d'y penser maintenant. Mettez en surbrillance les données inconnues. Quelles questions doivent être posées. Nommez un concept à quelque chose qui se sent un peu plus tangible. Concentrez-vous sur une partie spécifique du problème isolée et faites des progrès sur un projet sans avoir toutes les réponses. Il y a deux grands défis lorsque vous travaillez avec des variables. Déterminer si une variable est flexible ou fixe, et lui donner le bon nom. Pour déterminer un état, demandez s'il changera ? Devrait-il changer ? Je peux prendre cette décision plus tard ? Connaître la différence peut simplifier les problèmes avec lesquels vous travaillez et identifier les limites. Où poser des questions et avec quoi vous devez travailler. Nommer les variables est souvent considéré comme l'une des tâches les plus difficiles dans la programmation. Si une variable est mal nommée, cela peut conduire à un code très déroutant pour quelqu'un d'autre ou même vous-même plus tard. Parfois, des variables mal nommées incitent à penser à un concept de la mauvaise manière, ce qui peut signifier que le produit ou la fonctionnalité se révèle mal ou moins qu'idéal. Étant donné que les variables sont une forme de communication, mauvaise communication peut s'infiltrer à travers variables mal nommées, mais vous pouvez renommer vos variables à tout moment. Pour considérer si vous avez le bon nom, demandez-vous s'il y a un moyen plus simple de le décrire ? Si les gens ont constamment besoin de clarification pour la variable, considérez qu'elle pourrait être mal nommée. Considérez également comment le décrivez-vous ? Y a-t-il un moyen simple ou plus court de le faire ? C' est un nom trop vague ? Est-ce que les autres comprennent ce que cela représente ? Hyper spécificité peut être bonne et est commune dans certains langages de programmation. Ne t'éloigne pas forcément de ça. Tu veux t'assurer que tu as l'impression de parler de la bonne chose. Pensez aux données abstraites de cette fonctionnalité Instagram et ajoutez vos idées à votre projet. Je te verrai dans la prochaine leçon. 5. Comprendre les composants: Les données peuvent changer en fonction des circonstances. Vous voudrez peut-être vendre un produit à un prix réduit entre deux dates, ou autoriser uniquement certaines personnes à voir le contenu. instructions conditionnelles permettent aux développeurs d'écrire ces cas coder, penser à une déclaration conditionnelle comme une fourche dans la route. Il y a deux chemins que quelqu'un pourrait prendre. Ces chemins peuvent se joindre à nouveau, ou ils peuvent rester divergents, ils peuvent se briser en chemins plus petits. Une instruction conditionnelle crée des chemins d'accès divergents à partir d'un système ou d'un programme. C' est une instruction if else dans sa forme la plus simple, qui crée deux chemins et dans une forme plus complexe, elle pourrait avoir des étapes ou des états. Les conditions sont partout dans le monde réel. Une forme simple est l'insécurité. Soit vous avez la clé pour ouvrir la voiture, soit vous ne le faites pas. Si vous avez la clé, vous pouvez la conduire. Sinon, vous ne pouvez pas utiliser la voiture. Une voie de train partagée où plusieurs trains arriveront sur le même quai comporte de nombreux chemins divergents. Il peut y avoir un train local qui visite chaque arrêt, un train express qui saute des arrêts, un autre pourrait finir à une destination différente. C' est un ensemble plus compliqué de conditions et vous pouvez trouver les conditions d'état et le choix, comme le choix des garnitures de pizza. Vous pouvez choisir ce qui s'y passe avec une série d'options oui ou non. En fin de compte, vous avez encore une pizza, mais il y a une série de conditionnements mineurs qui se traduisent par des résultats différents. Dans les conditions de programmation, créer des chemins divergents pour différents utilisateurs. Nous utilisons des conditions pour les restrictions si l'utilisateur est connecté, alors la page sinon les envoyer à l'écran de connexion. Nous utilisons des conditions pour les paramètres, ou les préférences de l'utilisateur, tout comme les garnitures sur une pizza qui peuvent être une série de commutateurs indépendants qui offrent une expérience unique. Nous utilisons des conditions pour des choses simples aussi, comme, si d'autres déclarations, s'il y a une notification, montrer la cloche, sinon pas. Dans la conception de l'expérience utilisateur, nous pensons beaucoup aux états. L' état de jeu, l'état partiel, l' état d'erreur et l'état idéal. Tous ces états doivent être pris en compte pour compléter une conception et ils sont constitués de plusieurs conditions basées sur l'utilisateur du système. Qu' est-ce qui rend utile la compréhension des conditions au travail ? Eh bien, vous êtes capable d'identifier les choses qui sont co-dépendantes. Vous pouvez obtenir une poignée sur un flux de travail, puis des possibilités divergentes à l'intérieur et repérer ce qui pourrait mal tourner et quels risques sont plausibles. Un organigramme de contrôle est un excellent outil pour visualiser les conditions. Comme pour les formes de base, un ovale, qui indique le début ou la fin. Flèches qui indiquent la direction à déplacer. Diamant qui indique un point de décision ou conditionnel et des rectangles qui indiquent une étape du processus. Vous pouvez utiliser d'autres formes et couleurs ainsi que la légende pour regrouper les types d'activités associés. Voici quelques conseils pour travailler avec des conditions, car elles augmentent toujours la complexité. Considérez si le conditionnel est nécessaire et si vous commencez à écrire des conditions imbriquées, qui est un chemin qui vit dans un autre chemin, essayez de déplacer la condition à un niveau supérieur. Si c'est nécessaire, explorez la meilleure façon de l'exprimer. Devrait-il être une valeur vraie ou fausse, ou peut-il être des préférences ? Enfin, trouver le juste équilibre entre l' épuisement approprié du chemin jusqu'à sa fin et la perte dans les mauvaises herbes. Considérez à quel point le chemin conditionnel est étroitement lié à votre problème d'origine. Je veux que vous créez un organigramme d'Instagram comme une fonction photo. Essayez de commencer le plus tôt possible et de cartographier autant de chemins divergents que vous pouvez penser, puis fermez votre projet, si vous êtes coincé dans des conditions imbriquées, considérez si le chemin peut être divisé en son propre organigramme. Si c'est le cas, donnez simplement un titre à l'étape et concentrez-vous sur le goût de la fonction photo. Je te verrai la prochaine fois. 6. Utiliser des motifs: L' identification des modèles est essentielle dans la programmation. Les développeurs cassent les problèmes en petits morceaux, résolvent ce problème et élèvent le modèle pour construire des systèmes plus grands qui forment ensemble une application entière. Bref, les modèles créent des systèmes. utilisation d'un modèle fournit un moyen cohérent de faire quelque chose plusieurs fois et encore et il est prévisible et reproductible avec un modèle, vous pouvez créer un système qui vous permet d'exploiter et de réutiliser le travail et vous pouvez utiliser ce modèle et appliquer cela à de nombreuses situations différentes. Les modèles sont tout autour de nous. Sur les portes, nous en savons instinctivement une pour tirer une poignée ou pousser un panneau plat pour l'ouvrir ou la fermer. C' est irritant quand on a besoin de pousser une poignée de porte parce que la prévisibilité du motif est brisée. Nous savons que tourner la vis à gauche va desserrer et la tourner à droite, nous allons la serrer, et les concepteurs utilisent des motifs dans leurs systèmes de conception et guides de style utilisant des composants, choix de couleurs et des comportements fournit un moyen de créer des interfaces sur marque. Les modèles sont extrêmement importants dans la programmation. Travailler avec un modèle permet à une équipe de développeurs de travailler ensemble pour atteindre les mêmes objectifs. Une fonction est un petit morceau de code qui complète une tâche et les fonctions réutilisables sont des modèles simples. Par exemple, une fonction qui peut rendre un mot majuscule est réutilisable. Peu importe le mot qu'il reçoit, mais il le rendra en majuscules. Les programmeurs utilisent également différents paradigmes pour résoudre les problèmes. Par exemple, un paradigme fonctionnel est un moyen d'organiser le code avec de petites fonctions raisonnables. Alors qu'un paradigme orienté objet traite les pièces au programme comme des objets et ils contiennent leurs propres données internes. Chacun a des avantages et des inconvénients pour eux, mais savoir quand l'utiliser peut faciliter la résolution d'un problème. Les pratiques exemplaires et les normes sont également des modèles. Nous apprenons d'autres expériences et appliquons leurs connaissances à notre application, quelques exemples de meilleures pratiques sont : le principe de la responsabilité unique. Cela signifie que chaque morceau de code ne devrait être responsable que d'une chose, et il garde le code isolé et maintient son focus. Le principe Dry, qui signifie, ne vous répète pas. Cela signifie essentiellement éviter de faire la même chose encore et encore et il encourage la réflexion sur problèmes dans l'abstrait pour identifier les pièces qui sont communes afin de le transformer en un modèle. Elle établit également une source de vérité pour s'attaquer au problème. Parce que si vous ne vous répétez pas, il n'y a qu'une seule façon de le faire et cela réduit la confusion. Une autre, c'est que tu n'en auras pas besoin. Ça veut dire que ne construisez pas la chose tant que vous ne savez pas que vous en avez besoin. Il réduit le travail à son essentiel pour aller de l'avant et il limite la surconstruction. En pratique, cela peut aussi rendre les problèmes plus concrets parce que nous enlevons souvent certains des inconnus pour construire la chose la plus simple qui fonctionne, il y a beaucoup d'autres modèles que les programmeurs utilisent. Les modèles nous aident à réfléchir aux problèmes de différentes manières et à créer de meilleurs workflows. Utiliser des modèles dans votre propre travail peut être extrêmement utile. Lorsque les problèmes se sentent trop importants, recherche de similitudes est un excellent moyen de le décomposer en morceaux gérables. Identifier les problèmes récurrents peut donner l'occasion de réfléchir à des choses à un niveau supérieur pour créer la bonne façon de le faire. Enfin, les modèles aident à appliquer la cohérence ou l'incohérence fixe, ce qui provoque la confusion ou la négligence. La façon la plus simple de commencer à utiliser des modèles est de vous demander si vous avez fait quelque chose de similaire auparavant ou si vous comptez faire ce travail à nouveau. Lorsque vous comparez deux problèmes, demandez-vous quelles sont les différences ? Essayez de penser aux parties en tant que variables. Si vous trouvez beaucoup de similitudes, vous avez probablement l'occasion de faire un modèle. Parfois, deux modèles peuvent ressembler à un et c'est une situation un peu délicate. L' utilisation de nos méthodes de données et de variables peut aider à cela. quel type de données travaillez-vous ? Que pensez-vous en faire ? Si les différences sont assez grandes, alors vous avez probablement des modèles. Une règle empirique est de ne pas essayer de forcer quelque chose dans un modèle. Trouver le bon modèle devrait avoir l'impression de débloquer la réalisation, bien qu'il puisse être un peu difficile d'y arriver. Enfin, si vous êtes la seule personne qui sait faire quelque chose, écrire des instructions est un excellent moyen de vous transformer en un modèle. Avec de bonnes instructions, de nombreuses tâches peuvent être accomplies par n'importe qui. Ceux-ci peuvent même servir de rappel pour vous-même à l'avenir. Dans cette leçon, je voudrais que vous identifiiez les modèles utilisés par Instagram qui sont également utilisés dans d'autres applications. Par exemple, aimer une photo est un Instagram, mais aimer un commentaire est sur Facebook et aimer une vidéo est sur YouTube. Le modèle de goût est commun dans la plupart des applications de médias sociaux. Partagez votre travail et votre projet. Alors passons à notre dernière leçon, l'automatisation. 7. Appliquer l'automatisation: L' automatisation est un outil puissant dans la ceinture d'un programmeur. Il permet aux programmeurs de travailler en lots beaucoup plus rapidement, avec beaucoup moins d'efforts. L' automatisation simplifie le travail, réduit les tâches répétitives et effectue des séquences d'événements. Qu' est-ce que ça veut dire pratiquement ? Faire moins de travail avec les mêmes résultats, faire plus rapidement et être plus efficace. Nous pensons souvent aux robots quand nous entendons le mot automation, mais il y a beaucoup d'exemples concrets de faire moins de travail avec les mêmes résultats. Les feux de circulation, par opposition aux panneaux d'arrêt à quatre sens, accélèrent la tâche répétitive d'inspecter l'intersection. Cette automatisation permet à de nombreux véhicules de passer à la fois sans qu'ils s'arrêtent individuellement. Une autre forme est un réveil. Une fois qu'il est défini, il vous alerte automatiquement au moment approprié, sorte que vous n'avez pas besoin de le vérifier manuellement. Pouvez-vous imaginer vérifier l'horloge toutes les heures de la nuit pour être à l'heure pour travailler ? L' automatisation vous permet de dormir. De plus, vous pouvez programmer une séquence afin qu'elle ne vous avertisse que du lundi au vendredi. Les campagnes marketing goutte à goutte sont une forme moins physique d'automatisation. Il est créé une fois et appliqué à de nombreuses personnes dans l'ordre. Ils recevront un e-mail de bienvenue lorsqu'ils s'inscrivent et après un certain temps, recevront un autre e-mail, et ils se poursuivent automatiquement toute la campagne. Dans la programmation, nous avons de nombreux types d'automatisation et de séquençage ; des boucles, comme lorsque nous parcourons une liste de mois pour les rendre en majuscules, aux tâches en arrière-plan, qui avertiront l'utilisateur lorsqu'ils ont été mentionnés. Toutes les applications impliquent un certain niveau d'automatisation, sinon, tout devrait être complété manuellement, ce qui nécessiterait une équipe énorme. Comment appliquer l'automatisation au travail ? Tout d'abord, recherchez les obstacles routiers et inefficacités dans les processus afin que vous puissiez les supprimer. Chaque fois que le travail doit s'arrêter, considérez si la raison est nécessaire, le processus peut-il s'améliorer afin qu'il n'ait pas besoin d'arrêter ? Par exemple, si un concepteur vous envoie une preuve, afin que vous puissiez la publier au client, le concepteur peut-il la publier directement au client ? Ensuite, l'apprentissage des raccourcis clavier vous aidera à travailler plus rapidement. Quand je les apprends, j'ai tendance à me concentrer sur une par semaine, et je l'écris pour pouvoir y faire référence rapidement. Chaque fois que je suis sur le point d'utiliser la commande, je m'arrête et j'utilise le raccourci à la place. Bientôt, je connais assez bien le raccourci je n'ai plus besoin de le faire référence. Enfin, essayez de travailler par lots ensemble afin que vous puissiez vous concentrer sur le groupe comme une seule chose. lots aidera probablement à identifier les pièces qui peuvent être automatisées. L' automatisation consiste vraiment à réduire le nombre de choses que vous devez faire afin que vous puissiez vous concentrer sur des tâches plus significatives. Pour appliquer l'automatisation, nous devons d'abord identifier les candidats. Voilà ce à quoi je pense. Qu' est-ce que je fais qui est fastidieux ? Puis-je réduire le nombre d'étapes ? Quelque chose sujette aux erreurs ? Qu' est-ce qui me prend beaucoup de temps ? Dans le dernier exercice, j'aimerais que vous identifiiez la séquence d'événements quand quelqu'un publie un commentaire sur une photo Instagram. Qu' advient-il du commentaire ? Qui sait pour le commentaire ? Vous pouvez le faire sur un organigramme de contrôle avec seulement des rectangles, mais si vous vous sentez ambitieux, pensez également à ce qui peut mal tourner dans la séquence. 8. Conclusion: Merci d'avoir suivi mon cours. Si vous avez des questions ou des éclaircissements sur quoi que ce soit, n' hésitez pas à me contacter au sein de la communauté. Jusqu' à la prochaine fois, on se voit.