Transkripte
1. Einführung: Willkommen bei Think Like a Programmer, wo Designer, Vermarkter, Produktmanager oder wirklich jeder, der neugierige Live-Entwicklungsprozesse ist, sehen, was hinter dem Vorhang ist. In diesem Kurs werden wir einige hochrangige
Problemlösungskonzepte durchlaufen und erfahren, wie Sie diese auf Ihre eigene tägliche Arbeit anwenden können. Darüber hinaus erhalten Sie einige Einblicke in die effektivere Zusammenarbeit mit Programmierern. Meine Karriere begann im Grafikdesign, aber als ich das Programmieren im Tandem lernte, fand ich heraus, dass ich Konzepte wie
Automatisierung auf meinen eigenen Alltag anwenden und meine Arbeit
erleichtern konnte Automatisierung auf meinen eigenen Alltag anwenden und meine Arbeit und ich hoffe, diese Dinge mit Ihnen zeigen zu können. Lasst uns loslegen.
2. Die Javascript-Konsole: Die Codebeispiele in diesem Kurs haben in Javascript getan. Sie können mitverfolgen, wenn Sie ein Gefühl für das Lesen von Code bekommen möchten. Alle Webbrowser haben Javascript in sie integriert und ein Tool namens Konsole für die Interaktion mit diesem. Javascript unterstützt viele der reichen Interaktionen, die Sie heute im Web sehen. Dies sind Dinge wie das Durchblättern von Produktbildern bei Amazon, Anpassen von Beiträgen auf Facebook, Videos werden automatisch auf YouTube abgespielt und vieles mehr. Wir werden nicht tief in JavaScript eintauchen, aber es ist die perfekte Sprache, mit der wir folgen können. Öffnen Sie die Konsole, indem Sie mit der rechten Maustaste auf eine beliebige Seite klicken, „Prüfen“
auswählen und dann auf die Registerkarte „Konsole“ klicken. Hier können Sie alles in Javascript tun, einfache Mathematik. Sie können Nachrichten schreiben. Sie können auf alles in der JavaScript-API zugreifen, um etwas wie eine Beschleunigung von Video zu tun. meiste Javascript, das in der Konsole zu tun ist, ist nicht dauerhaft. Wenn Sie das Gefühl haben, dass Sie mit etwas geworfen
haben, können Sie die Seite aktualisieren und sie wird zurückgesetzt.
3. Beginnen mit Daten: Bei der Bewältigung eines Problems beginnen
Programmierer mit Daten. Es ist eine Möglichkeit, einige der beweglichen Teile innerhalb der Arbeit schnell zu identifizieren. Wenn wir über Daten sprechen, sprechen
wir eigentlich über den bekannten Wert. In der Software ist die Datenmenge der gespeicherte Wert. Es ist, was das Programm zu Protokoll hat, was es zur Quelle der Wahrheit macht. Verwendung von Daten, bei denen bekannte Werte immer
einfacher zu verstehen sind, als mit unbekannten Werten zu arbeiten. Deshalb fangen wir damit an. Programmierer sind immer auf der Suche, Probleme so
greifbar wie möglich zu machen , um die Komplexität zu reduzieren. beispielsweise einfache Mathematik betrachtet, ist
es leicht zu verstehen, dass eins plus eins gleich zwei ist, weil wir mit tatsächlichen Werten arbeiten. Wenn einer dieser Werte verschwindet, eins plus etwas gleich zwei ist, wird
das Problem etwas schwieriger. Oder in Fristen ist es so viel einfacher zu planen, wenn man die tatsächlichen Fristen kennt. Deshalb beginnen wir so weit wie möglich mit Daten. In Programmiersprachen werden Daten nach ihrem Typ klassifiziert, und ein Typ ist nur eine Möglichkeit zu definieren, mit welcher Art von Daten wir arbeiten. Programmiersprachen unterscheiden sich darin, wie sie Typen kategorisieren, aber die meisten von ihnen sind sich auf eine Form der folgenden vier einig: Zahlen, Zeichenfolgen, Boolesche Werte und Nullwerte. Zahlen sind für jede Art von Nummer. Dazu gehören positive, negative und dezimale Zahlen. Zeichenfolgen sind für Wörter,
unabhängig davon, ob ein oder mehrere und werden immer in Anführungszeichen umbrochen. Boolesche Werte sind für eine oder Szenarien,
insbesondere, ob etwas wahr oder falsch ist. Zum Beispiel ein Kontrollkästchen,
unabhängig davon, ob es vollständig oder unvollständig ist. Sie können sich das wie ein Schalter vorstellen. Ist es ein- oder ausgeschaltet. Nullwerte sind Daten, die explizit angeben, dass keine Daten vorhanden sind. Ein Nullwert wird verwendet, wenn keine Daten vorhanden sind, wie bevor etwas gespeichert wurde. Es stellt einen bekannten leeren Wert dar. Einige Programmiersprachen verwenden etwas andere Namen oder enthalten zusätzliche Typen, aber diese vier können als High-Level-Typen betrachtet werden, sie werden primitive Typen genannt. Es ist nützlich, Daten in einem Format anzuordnen, um die Arbeit zu erleichtern. Diese Anordnungen werden als Datenstrukturen bezeichnet. Die Datenstrukturen akzeptieren einfach beliebige Daten und setzen sie in ein bestimmtes Format. Die Art der Strukturentwickler wählt, hängt davon ab, was sie damit zu tun
beabsichtigen und die Muster der Programmiersprache. Dies sind die beiden gebräuchlichsten Datenstrukturen: Listen und Objekte. Lassen Sie uns in die JavaScript-Konsole springen, um zu sehen, wie diese aussehen. Eine Liste ist eine einfache Möglichkeit, eine Sammlung von Daten zu umschließen. Sie haben beispielsweise eine Liste von Monaten. Wenn sie sich in einer Liste befinden, können Sie einen Effekt auf alle anwenden, z. B. Jeder Eintrag Analyst hat einen Index gegeben, der eine Möglichkeit bietet, auf einen bestimmten Wert zuzugreifen, wenn Sie den Index kennen. Intuitiv beginnen Indizes bei Null anstelle von Eins. Was bedeutet, wenn wir auf Marsch in unserer Liste zugreifen wollen, müssen
wir zwei verwenden, obwohl es der dritte Wert ist. Ebenso, wenn wir auf Januar zugreifen wollen, müssen
wir Null verwenden. Beginnen wir mit der Einschränkung auf einzelne Ebenen, die verschachtelt werden können, um viel mehr Daten zu speichern, wie z. B. die Anzahl der Tage innerhalb des Monats. Jetzt, da wir verschachtelte Listen haben, wird
es ein wenig schwieriger, auf die Daten zuzugreifen, die wir wollen. Ein Objekt ist eine Struktur, die den Schlüsseln Daten zuweist, wodurch es leicht ist, den richtigen Wert aufzurufen. Wenn wir eine Liste von Monaten in ein Objekt verwandeln, ist
es viel einfacher, auf den Wert zuzugreifen, den wir wollen. Wenn wir March wollen, können wir es nach seinem Schlüssel nennen, March. Jetzt haben wir seinen Namen Wert, und es Tage Wert. In einem Objekt ist es ein wenig schwieriger,
einen Effekt anzuwenden , wie wenn wir alles Großbuchstaben gemacht haben, aber es ist immer noch möglich. Eine Datenbank ist, wo tatsächliche Daten gespeichert werden. Es ist die Quelle der Wahrheit. Alles in der Datenbank ist die wirkliche Darstellung dessen, was das System hält. Eine Datenbank mag wie ein herausforderndes Konzept klingen, aber es ist einfach eine Sammlung von Tabellen, wie eine Excel -Tabelle. Jeder Eintrag in einer Datenbank wird in einer Zeile
und jede Eigenschaft als Spalte dargestellt . Abrufen von Daten aus einer Datenbank erfolgt am häufigsten mit SQL, das für Structured Query Language steht, und S-Q-L geschrieben. Es ermöglicht Programmierern, Anweisungen zu schreiben, die Daten in
einer angeforderten Datenstruktur sammeln , um sie anzuzeigen , zu
aktualisieren, zu entfernen und hinzuzufügen. SQL ist extrem schnell, aber das Anordnen von Daten kann kompliziert sein. Nun, eine einzelne Tabelle könnte vielleicht alle Daten in einer Anwendung enthalten. Wenn die Anwendung klein ist, desto langsamer wird die SQL ausgeführt,
je mehr Daten zur Tabelle hinzugefügt werden. Alle Daten auf eine einzelne Tabelle zu setzen, wird aus diesem Grund
als eine wirklich schlechte Praxis angesehen. Programmierer brechen Konzepte in ihre eigene Tabelle ein. Dies kann Komplexität erhöhen, da Programme
eine Abfrage schreiben müssen , die über mehrere Tabellen ausgeführt wird, um die angeforderten Daten abzurufen. Dies ist teilweise, was eine teure Anforderung erstellen kann, aber es ist sehr abhängig von der spezifischen Systemeinrichtung und es gibt Techniken, um die Leistung zu optimieren. Bei der Arbeit mit Webanwendungen spielt
die Internetverbindung auch eine Rolle bei der Datenbereitstellung. Wenn mehr Daten angefordert werden, müssen
mehr Daten über das Internet gesendet werden. Wenn die Verbindung langsam ist und es viele Daten zu senden gibt, kann
die Webseite Timeout oder abstürzen. Es ist am besten, nur die notwendigen Daten zu senden. Schauen wir uns ein Beispiel an. Diese Tabelle stellt Kommentare dar und ist von Instagram modelliert. Es gibt vier Spalten mit Eigenschaften, ID, Benutzer-ID, Foto-ID und Kommentar. Die letzte Spalte sind die Kommentare, die auf dem Beitrag erscheinen. Die erste Spalte, die ID-Spalte, ermöglicht es uns, auf den richtigen Kommentar zuzugreifen. Es funktioniert genauso wie auf einen Eintrag in einer Liste zuzugreifen. Spalten zwei und drei enthalten die Benutzer-ID und die Foto-ID. Wie ich bereits erwähnt habe, könnten wir
alle Benutzerinformationen und Fotoinformationen direkt auf diesem Tisch enthalten , aber es ist eine schlechte Übung. Stattdessen enthalten wir nur den Mitgliedsnamen und den Lichtbildausweis. Wenn wir auf Informationen über den Benutzer zugreifen möchten, wie ihren Namen in Avatar, haben
wir die richtige ID abzufragen, und dann machen wir eine Abfrage auf der Benutzertabelle. Wenn wir einen Kommentar aktualisieren oder löschen, wir keinen Einfluss auf den Benutzer oder die Fototabelle,
was bedeutet, dass die Abfrage schneller ausgeführt werden kann. Nachdenken über Daten auf diese Weise kann eine Geschichte erzählen. Schauen wir uns den Inhalt ein wenig näher an, um zu sehen, was hier passiert. Schauen Sie in den Benutzer-ID-Kommentar, hebt sich etwas von Ihnen ab? Die ersten beiden Zeilen haben die gleiche ID, was bedeutet, dass diese Kommentare vom selben Benutzer stammen. Wenn wir uns den Foto ID-Kommentar ansehen, sehen
wir auch, dass die ersten beiden Zeilen die gleiche ID haben. Das bedeutet, dass dieser Benutzer das gleiche Foto zweimal kommentiert hat. Wenn wir weiterhin die Fotoausweisspalte überprüfen, sehen
wir, dass zwei weitere Benutzer das gleiche Foto kommentiert haben. Ein wenig über Typen,
Datenstrukturen und Datenbanken zu wissen , wird ihnen helfen, mit Entwicklern zu arbeiten. Aber über Daten als den tatsächlichen Wert nachzudenken, sollte
Klarheit bringen , um auch außerhalb der Programmierung zu funktionieren. Hier sind ein paar Tipps. Denken Sie zuerst darüber nach, was Sie tun möchten und wohin es in Zukunft gehen könnte. Denken Sie daran, was Sie erwarten zu arbeiten und wie Sie es erwarten. Denken Sie schließlich darüber nach, was Sie sicher sind und worüber Sie sich nicht sicher sind. Für Übungen möchte ich, dass Sie über
die Daten nachdenken , die zum Erstellen dieses Instagram-Bildschirms erforderlich sind, und auch die unabhängigen Konzepte identifizieren, die eine eigene Datenbanktabelle haben. Wir haben bereits einen Kommentar von einem Teil der anderen identifiziert. Fügen Sie Ihre Antworten zu Ihrem Projekt hinzu, und ich sehe Sie im nächsten Video.
4. mit Variablen denken: Der Umgang mit konkreten Daten ist der einfachste Weg, um ein Problem zu lösen. Aber manchmal haben Sie keine echten Daten, mit denen Sie arbeiten können, oder es gibt viele mögliche Optionen für diese Daten. Wenn dies der Fall ist, verwenden
Programmierer Variablen, um vorwärts zu gehen. Variablen in der Programmierung können sich etwas von der Art
unterscheiden, wie Sie über sie im Alltag denken. In der Programmierung ist eine Variable eine Abstraktion. Es ist wie ein Container, der Informationen enthält. Es ist eine Möglichkeit, über etwas zu sprechen, ohne konkret darüber zu sein, oder wenn der tatsächliche Wert unbekannt ist. Es kann auch eine bequeme Möglichkeit sein,
etwas zu referenzieren , ohne es jedes Mal explizit zu sagen. Darüber hinaus können sich Variablen ändern oder einen anderen Wert als erwartet enthalten. Aber wir müssen uns in diesem Moment nicht darum kümmern. Variablen werden überall um uns herum verwendet, auch außerhalb der Programmierung. Es gibt viele verschiedene Teile, aus denen ein Lied, ein Vers, Pre-Chor, Chor, Interlude, usw. Jede dieser Teile sind Variablen,
halten einen Wert, aber wir können sie anhand ihres abstrahierten Namens referenzieren. Wenn wir den Inhalt davon wissen wollen, greifen
wir auf die Informationen mit Namen zu. Darüber hinaus werden einige Teile, wie der Chor, wiederverwendet, aber sie haben den gleichen Inhalt. Anstatt es Chor eins und Chor zwei zu nennen, nennen
wir es einfach Chor. Deadlines innerhalb eines Projekts können mit Variablen anstelle von
oder zusätzlich mit ihren tatsächlichen Daten,
Beta-Release,Alpha-Release,
Go-Live-Datum usw. benannt werden oder zusätzlich mit ihren tatsächlichen Daten,
Beta-Release, Alpha-Release, .
Dies ermöglicht es uns, über die Arbeit nachzudenken, die enthalten ist innerhalb des Meilensteins. Designer verwenden Variablen die ganze Zeit, benennen Farben. Anstatt einen Farbbytes RGB- oder Hexadezimalwert aufzurufen, nennen
wir ihn vielleicht
hellblau, blau oder dunkelblau. Bei der Programmierung ist Variablen eines der ersten Werkzeuge, die wir verwenden. In unserem Listenbeispiel habe ich die Liste der Monate einer Variablen namens Months zugewiesen, so dass ich sie immer wieder verwenden kann, ohne den Inhalt immer wieder neu schreiben zu müssen. Als wir die Monatsnamen Großbuchstaben machten, wurde
eine sich ändernde Variable erstellt. Ich kann jeden Monat Großbuchstaben machen, ohne mich darum zu kümmern, welche es tatsächlich war. Viele Anwendungen haben eine Variable namens „aktueller Benutzer“. Es ermöglicht Programmierern, eine Anwendung zu schreiben, aber einzigartige Erfahrungen für verschiedene Menschen zu bieten. Aktuelle Benutzer, die Ihrem Profil zugewiesen sind, sobald Sie sich angemeldet haben, damit Sie Ihre eigenen Inhalte erhalten. Wenn wir keine Variablen hätten, wäre eine
Programmierung wahrscheinlich unmöglich. Außerhalb der Programmierung kann das Denken mit Variablen Ihnen helfen, Ihre Arbeit voranzubringen. Verwenden Sie Variablen, um Arbeit in kleinere Stücke zu zerlegen, selbst wenn etwas unbekannt ist, abstrahieren Sie ein Konzept oder einen Teil der Diskussion weg. Du musst jetzt nicht darüber nachdenken. Markieren Sie, welche Daten unbekannt sind. Welche Fragen müssen gestellt werden? Nennen Sie ein Konzept zu etwas, das sich ein wenig greifbarer anfühlt. Konzentrieren Sie sich auf einen bestimmten Teil des Problems
isoliert und machen Sie Fortschritte in einem Projekt, ohne alle Antworten zu haben. Es gibt zwei große Herausforderungen bei der Arbeit mit Variablen. Bestimmen, ob eine Variable flexibel oder fest ist, und geben Sie ihr den richtigen Namen. Um einen Zustand zu bestimmen, fragen Sie, wird er sich ändern? Soll es sich ändern? Kann ich diese Entscheidung später treffen? den Unterschied kennen, können Sie Probleme vereinfachen, mit denen Sie arbeiten und Grenzen identifizieren. Wo Sie Fragen stellen und womit Sie arbeiten müssen. Benennen von Variablen wird oft als eine der schwierigsten Aufgaben in der Programmierung betrachtet. Wenn eine Variable falsch benannt wird, kann
dies zu sehr verwirrendem Code für jemand anderen oder sogar sich selbst später führen. Manchmal ermutigten falsch benannte Variablen, über ein Konzept in der falschen Weise nachzudenken, was bedeuten kann, dass das Produkt oder die Funktion sich als falsch oder weniger als ideal herausstellt. Da Variablen eine Form der Kommunikation sind, kann
Fehlkommunikation durch falsch
benannte Variablen einschleichen , aber Sie können Ihre Variablen jederzeit umbenennen. Um zu überlegen, ob Sie den richtigen Namen haben, fragen Sie sich, gibt es einen einfacheren Weg, ihn zu beschreiben? Wenn Menschen ständig Klärung für
die Variable benötigen , denken Sie daran, dass sie falsch benannt werden könnte. Überlegen Sie auch, wie Sie es beschreiben? Gibt es einen einfachen oder kürzeren Weg, dies zu tun? Ist der Name zu vage? Verstehen andere, was sie repräsentiert? Hyper Spezifität kann gut sein und ist in einigen Programmiersprachen üblich. Scheuen Sie sich nicht unbedingt davor. Du willst sicherstellen, dass es sich anfühlt, als würdest du eigentlich über das Richtige sprechen. Denken Sie über die abstrahierten Daten in dieser Instagram-Funktion nach und fügen Sie Ihre Ideen zu Ihrem Projekt hinzu. Wir sehen uns in der nächsten Lektion.
5. Konditionen verstehen: Die Daten können sich je nach Umstand ändern. Möglicherweise möchten Sie ein Produkt zu einem reduzierten Preis zwischen zwei Datumsangaben verkaufen
oder nur bestimmte Personen erlauben, Inhalte zu sehen. Bedingte Anweisungen ermöglichen es Entwicklern, diese Fälle zu codieren,
denken Sie an eine bedingte Anweisung als eine Gabelung in der Straße. Es gibt zwei Wege, die jemand einschlagen könnte. Diese Pfade können sich wieder verbinden, oder sie könnten divergent bleiben, sie könnten in kleinere Pfade einbrechen. Eine bedingte Anweisung erstellt abweichende Pfade durch das Verschieben durch ein System oder ein Programm. Es ist eine if else Anweisung in ihrer einfachsten Form, die zwei Pfade erzeugt und in einer komplexeren Form Stadien oder Zustände haben könnte. Die Bedingungen sind überall in der realen Welt. Eine einfache Form ist Unsicherheit. Entweder haben Sie den Schlüssel, um das Auto zu öffnen, oder Sie nicht. Wenn Sie den Schlüssel haben, können Sie ihn fahren. Sonst kannst du das Auto nicht benutzen. Eine gemeinsame Zugstrecke, auf der mehrere Züge
auf demselben Bahnsteig ankommen , hat viele unterschiedliche Wege. Es kann einen lokalen Zug geben, der jede Haltestelle besucht, ein Expresszug, der hält, ein anderer könnte an einem anderen Ziel enden. Dies ist eine kompliziertere Reihe von Bedingungen und Sie können staatliche Bedingungen und Wahl finden, wie die Wahl der Pizza-Beläge. Sie erhalten zu wählen, was auf sie mit einer Reihe von Ja oder Nein Optionen geht. Am Ende haben Sie noch eine Pizza, aber es gibt eine Reihe von geringfügigen Bedingungen, die zu unterschiedlichen Ergebnissen führen. In Programmierbedingungen erstellen divergente Pfade für verschiedene Benutzer. Wir verwenden Bedingungen für Einschränkungen, wenn der Benutzer eingeloggt ist, so dass die Seite sie anderweitig an den Anmeldebildschirm sendet. Wir verwenden Bedingungen für Einstellungen oder Benutzereinstellungen, genau wie die Toppings auf einer Pizza, die eine Reihe von
unabhängigen Schaltern sein kann , die ein einzigartiges Erlebnis bieten. Wir verwenden Bedingungen auch für einfache Dinge, wie, wenn sonst Aussagen, wenn es eine Benachrichtigung gibt, zeigen Sie die Glocke, sonst nicht. Im User Experience Design denken
wir viel über Zustände nach. Der Spielzustand, Teilzustand, Fehlerzustand und Idealzustand. Alle diese Zustände müssen berücksichtigt werden, um ein Design zu vervollständigen und sie bestehen aus mehreren Bedingungen basierend auf dem Benutzer des Systems. Was macht das Verständnis von Bedingungen bei der Arbeit nützlich? Du bist in der Lage, Dinge zu identifizieren, die koabhängig sind. Sie können einen Arbeitsablauf in den Griff bekommen und dann divergierende Möglichkeiten darin und erkennen, was schief gehen könnte und welche Risiken plausibel sind. Ein Kontrollflussdiagramm ist ein großartiges Werkzeug, um Bedingungen zu visualisieren. Wie für Grundformen, ein Oval, das den Anfang oder das Ende anzeigt. Pfeile, die die Richtung angeben, die bewegt werden soll. Ein Diamant, der einen Entscheidungspunkt oder bedingte und Rechtecke angibt, die einen Schritt im Prozess angeben. Sie können andere Formen und Farben zusammen mit
der Legende verwenden , um verwandte Aktivitätstypen zu gruppieren. Hier sind einige Tipps für die Arbeit mit Bedingungen, da sie immer die Komplexität erhöhen. Überlegen Sie, ob die Bedingung
überhaupt notwendig ist und wenn Sie anfangen, verschachtelte Bedingungen zu schreiben, denen es sich um einen Pfad handelt, der sich in einem anderen Pfad befindet,
versuchen Sie, die Bedingung auf eine höhere Ebene zu verschieben. Wenn es notwendig ist, erkunden Sie den besten Weg, um es auszudrücken. Sollte es ein wahrer oder falscher Wert sein, oder kann es Präferenzen sein? Schließlich, um das richtige Gleichgewicht zwischen angemessener Erschöpfung des Weges bis zu seinem Ende und Verirren im Unkraut zu finden. Überlegen Sie, wie eng der bedingte Pfad mit Ihrem ursprünglichen Problem verbunden ist. Ich möchte, dass Sie ein Flussdiagramm von Instagram wie eine Foto-Funktion erstellen. Versuchen Sie, so früh wie möglich zu beginnen und
so viele unterschiedliche Pfade zuzuordnen, wie Sie sich vorstellen können, dann schließen Sie in Ihrem Projekt Wenn Sie in verschachtelten Bedingungen stecken bleiben, überlegen Sie, ob der Pfad in ein eigenes Flussdiagramm unterteilt werden kann. Wenn das der Fall ist, geben
Sie dem Schritt einfach einen Titel und konzentrieren Sie sich auf den Geschmack der Foto-Funktion. Wir sehen uns nächstes Mal.
6. Muster verwenden: Identifizieren von Mustern ist wichtig bei der Programmierung. Entwickler brechen Probleme in kleine Stücke, lösen dieses Problem
und erhöhen das Muster, um größere Systeme zu erstellen , die zusammen eine ganze Anwendung bilden. Kurz gesagt, Muster erstellen Systeme. Verwendung eines Musters bietet eine konsistente Möglichkeit, etwas mehrmals und immer
wieder zu tun , und es ist vorhersehbar und wiederholbar mit einem Muster, können
Sie ein System erstellen, mit dem Sie Arbeit nutzen und wiederverwenden und Sie können dieses Muster verwenden und es zu vielen verschiedenen Situationen. Muster sind überall um uns herum. An Türen wissen wir instinktiv, dass man
einen Griff zieht oder einen Flachbildschirm drückt, um ihn zu öffnen oder zu schließen. Es ist irritierend, wenn wir einen Türgriff drücken müssen weil die Vorhersagbarkeit des Musters gebrochen ist. Wir wissen, dass das Drehen der Schraube nach links sie
lockert und nach rechts gedreht wird , wir ziehen sie fest, und Designer verwenden Muster in ihren Designsystemen und Styleguides mit Komponenten, Farbauswahl und Verhaltensweisen. Erstellen von Markenschnittstellen. Muster sind extrem wichtig bei der Programmierung. Arbeit mit einem Muster ermöglicht es einem Team von Entwicklern, gemeinsam auf die gleichen Ziele zu arbeiten. Eine Funktion ist ein kleines Stück Code, der
eine Aufgabe abgeschlossen und wiederverwendbare Funktionen sind einfache Muster. Beispielsweise ist eine Funktion, die ein Wort Großbuchstaben machen kann, wiederverwendbar. Es spielt keine Rolle, welches Wort es erhält, aber es wird es Großbuchstaben machen. Programmierer verwenden auch verschiedene Paradigmen, um Probleme zu lösen. Zum Beispiel ist ein funktionelles Paradigma eine Möglichkeit Code mit kleinen, vernünftigen Funktionen zu organisieren. Während ein objektorientiertes Paradigma die Stücke zum
Programm als Objekte behandelt und ihre eigenen internen Daten enthalten. Jeder hat Vor- und Nachteile,
aber zu wissen, wann man benutzt, kann die Lösung eines Problems einfacher machen. Best Practices und Standards sind ebenfalls Muster. Wir lernen von anderen Erfahrungen und wenden ihr Wissen auf unsere Anwendung an, einige Beispiele für Best Practices sind; das Prinzip der einheitlichen Verantwortung. Es bedeutet, dass jeder Code nur für eine Sache verantwortlich sein sollte, und es hält Code isoliert und behält seinen Fokus. Das Dry-Prinzip, für das steht, wiederhole dich nicht. Es bedeutet im Wesentlichen vermeiden, dasselbe
immer und immer wieder zu tun , und es ermutigt, über
Probleme in der Zusammenfassung nachzudenken , Stücke zu identifizieren, die
üblich sind, um es in ein Muster zu verwandeln. Es stellt auch eine Quelle der Wahrheit für die Bewältigung des Problems dar. Denn wenn du dich nicht wiederholst, gibt es nur einen Weg, dies zu tun, und das reduziert Verwirrung. Eine andere ist, du wirst es nicht brauchen. Es bedeutet, dass du das Ding erst baust, wenn du weißt, dass du es brauchst. Es reduziert die Arbeit auf das Wesentliche, um voranzukommen, und es schränkt den Überbau ein. In der Praxis kann es auch Probleme konkreter anfühlen, weil wir oft einige der Unbekannten wegstreifen, um die einfachste Sache zu bauen, die funktioniert, gibt es viele andere Muster, die Programmierer verwenden. Muster helfen uns, Probleme auf unterschiedliche Weise nachzudenken und bessere Workflows zu schaffen. Verwendung von Mustern in Ihrer eigenen Arbeit kann enorm nützlich sein. Wenn Probleme sich zu groß anfühlen, ist die
Suche nach Ähnlichkeiten eine gute Möglichkeit, sie in überschaubare Teile zu zerlegen. Identifizieren von wiederkehrenden Problemen kann die Möglichkeit bieten,
über Dinge auf einer höheren Ebene nachzudenken , um den richtigen Weg zu schaffen, dies zu tun. Schließlich tragen Muster dazu bei, Konsistenz oder feste Inkonsistenz zu erzwingen, was zu Verwirrung oder Schlampigkeit führt. Der einfachste Weg, Muster zu verwenden, ist, sich zu fragen, ob Sie zuvor etwas Ähnliches
getan haben oder ob Sie erwarten, diese Arbeit erneut zu tun. Wenn Sie zwei Probleme vergleichen, fragen Sie sich, was sind die Unterschiede? Versuchen Sie, über die Teile als Variablen nachzudenken. Wenn Sie viele Ähnlichkeiten finden, haben
Sie wahrscheinlich die Möglichkeit, ein Muster zu erstellen. Manchmal können zwei Muster aussehen, als wären sie eins und das ist ein bisschen eine knifflige Situation. Verwendung unserer Daten und variablen Ansätze kann dabei helfen. welchen Daten arbeiten Sie zusammen? Was erwartest du damit zu tun? Wenn die Unterschiede groß genug sind, dann müssen Sie wahrscheinlich Muster. Eine Faustregel ist, dass Sie nicht versuchen, etwas in ein Muster zu zwingen. Das richtige Muster zu finden, sollte sich wie eine Erschließung der Leistung anfühlen, obwohl es ein wenig schwierig sein kann, dorthin zu gelangen. Schließlich, wenn Sie die einzige Person sind, die weiß, wie man etwas macht, ist
das Aufschreiben von Anweisungen eine gute Möglichkeit, sich in ein Muster zu verwandeln. Mit guten Anweisungen können viele Aufgaben von jedermann erledigt werden. Diese können sogar als Erinnerung für sich selbst in der Zukunft dienen. In dieser Lektion möchte ich, dass Sie die Muster identifizieren, die Instagram verwendet, die auch in anderen Anwendungen verwendet werden. Zum Beispiel, ein Foto zu mögen ist ein Instagram, aber ein Kommentar zu mögen ist auf Facebook und die Liebe in einem Video ist auf YouTube. Das Muster der Vorlieben ist in den meisten Social-Media-Apps üblich. Teilen Sie Ihre Arbeit und Ihr Projekt. Dann springen wir in unsere letzte Lektion, Automatisierung.
7. Automatisierung anwenden: Automatisierung ist ein leistungsfähiges Werkzeug im Riemen eines Programmierers. Es ermöglicht Programmierern, die Arbeit in Chargen deutlich schneller zu erledigen, mit viel weniger Aufwand. Im Kern vereinfacht die Automatisierung die Arbeit, reduziert
sich wiederholende Aufgaben und führt Sequenzen von Ereignissen durch. Was bedeutet das praktisch? Weniger Arbeit mit den gleichen Ergebnissen, schneller zu
machen und effizienter zu sein. Wir denken oft an Roboter, wenn wir das Wort Automatisierung hören, aber es gibt viele Beispiele für weniger Arbeit mit den gleichen Ergebnissen. Ampeln
beschleunigen im Gegensatz zu Vier-Wege-Stoppschildern die sich wiederholende Aufgabe, die Kreuzung zu inspizieren. diese Automatisierung können viele Fahrzeuge
gleichzeitig passieren , ohne dass sie einzeln angehalten werden müssen. Eine andere Form ist ein Wecker. Sobald es festgelegt ist, werden Sie automatisch zum entsprechenden Zeitpunkt benachrichtigt, sodass Sie es nicht manuell überprüfen müssen. Können Sie sich vorstellen, die Uhr jede Stunde
in der Nacht zu überprüfen , um pünktlich zur Arbeit zu sein? Automatisierung ermöglicht es Ihnen, zu schlafen. Darüber hinaus können Sie eine Sequenz so programmieren, dass Sie nur von Montag bis Freitag benachrichtigt werden. Marketing-Tropfkampagnen sind weniger physische Form der Automatisierung. Es wird einmal erstellt und in der Folge auf viele Menschen angewendet. Sie erhalten eine Willkommens-E-Mail, wenn sie sich anmelden und nach einiger Zeit eine weitere E-Mail
erhalten, die automatisch die gesamte Kampagne durchläuft. In der Programmierung haben wir viele Arten von Automatisierung und Sequenzierung; von Schleifen, wie wenn wir eine Liste von Monaten durchlaufen, um sie in Großbuchstaben
zu machen, bis hin zu Hintergrundjobs, die den Benutzer benachrichtigen, wenn sie erwähnt wurden. Alle Anwendungen beinhalten ein gewisses Maß an Automatisierung, sonst müsste
alles manuell abgeschlossen werden, was ein enormes Team erfordern würde. Wie können Sie die Automatisierung bei der Arbeit anwenden? Suchen Sie zunächst nach Straßensperren und Ineffizienzen in Prozessen, damit Sie sie entfernen können. Wann immer die Arbeit aufhören muss,
überlegen Sie, ob der Grund erforderlich ist.
Kann sich der Prozess verbessern, damit er nicht aufhören muss? Zum Beispiel, wenn ein Designer einen Beweis an Sie sendet, damit Sie ihn an den Kunden posten
können, kann der Designer ihn stattdessen direkt an den Kunden senden? Als nächstes wird das Lernen von Tastenkombinationen Ihnen helfen, schneller zu arbeiten. Wenn ich sie lerne, neige ich dazu, mich auf eine pro Woche zu konzentrieren, und ich schreibe es auf, damit ich schnell darauf verweisen kann. Jedes Mal, wenn ich den Befehl verwende, stoppe ich und benutze stattdessen die Verknüpfung. Bald kenne ich die Abkürzung gut genug, dass ich nicht mehr darauf verweisen muss. Versuchen Sie schließlich, Batch-Arbeit zusammen zu arbeiten, damit Sie sich auf die Gruppe als eine Sache konzentrieren können. Stapelverarbeitung hilft wahrscheinlich, die Teile zu identifizieren, die automatisiert werden können. Automatisierung geht es wirklich darum, die Anzahl der Dinge zu reduzieren, die Sie tun
müssen, damit Sie sich auf aussagekräftigere Aufgaben konzentrieren können. Um die Automatisierung anwenden zu können, müssen wir zunächst Kandidaten identifizieren. Das sind, woran ich denke. Was mache ich, das mühsam ist? Kann ich die Anzahl der Schritte reduzieren? Ist etwas fehleranfällig? Was braucht viel Zeit? In der letzten Übung möchte
ich, dass Sie die Reihenfolge der Ereignisse identifizieren, wenn jemand einen Kommentar auf einem Instagram-Foto postet. Was passiert mit dem Kommentar? Wer weiß von dem Kommentar? Sie können dies auf einem Kontrollflussdiagramm mit nur Rechtecken tun, aber wenn Sie sich ehrgeizig fühlen,
denken Sie darüber nach, was in der Sequenz auch schief gehen kann.
8. Schlussbemerkung: Danke, dass du meinen Kurs genommen hast. Wenn Sie Fragen oder Klärungen zu irgendwas haben, wenden Sie sich bitte an mich in der Community. Bis zum nächsten Mal, wir sehen uns.