Code-Review-Testzuweisung von Junior-React-Entwicklern

Was ist das?


Dies ist eine Codeüberprüfung der Lösungen der zweiten Testaufgabe . Das Video zeigt erfolgreiche Lösungen und Fehler sowie Tipps zu deren Behebung. Dieser Hinweis identifiziert häufig auftretende Probleme und enthält Links mit einem „Zeitstempel“.


wählte eine reaktion


Video

Häufige Probleme


  • Schlechte Readme;
  • Es gibt Eslint-Warnungen, extra console.log (Redux-Logger zählt nicht);
  • Web-Symbol nicht vorwärts verschoben (unaufmerksames Lesen der Aufgabe);
  • Das Web-Symbol wird in der Komponente nach vorne verschoben (und es ist besser im Reduzierer oder in der Aktion).
  • Das Kennwort wird nicht gelöscht, wenn die Anforderung mit einem Fehler zurückgegeben wurde.
  • Eine Senden-Schaltfläche im Anmeldeformular ist verfügbar, wenn die Felder leer sind (oder eines der Felder).
  • Die Schaltfläche "Senden" im Anmeldeformular unterstützt das Drücken der Eingabetaste nicht.
  • Keine Aufteilung in Komponenten / Container (gilt nicht für diejenigen, die andere Ansätze teilen);
  • Die URL für Anforderungen an den Server wird vollständig übertragen (es erfolgt keine Registrierung des sich wiederholenden Teils der Zeichenfolge als Konstante).
  • Fehler / Benachrichtigung "falscher Benutzername / falsches Passwort" - wird nicht gelöscht;
  • Fehler "falscher Benutzername / Passwort" - wird von einer Konstante vom Server ausgegeben;
  • Der Fehlertext ist im Code fest codiert. Es gibt keinen konstanten Zugriff vom Server auf das Wörterbuch.
  • Der "alte Code" wurde nicht gelöscht, dh Code, der nirgendwo verwendet wird.
  • Versprechen haben keinen Catch-Block. Es gibt keine Fehlerbehandlung, wenn der Server nicht in ok antwortet.
  • Komponenten werden in node_modules gehostet.
  • Requisitentypen fehlen oder sind unzureichend beschrieben.
  • Aktionen und Reduzierungen auf dem Heap in einer Datei (oder in einer Aktion alle Aktionen, in der anderen alle Reduzierungen). Es gibt keine Unterteilung in „Module“, dh jede Einheit - ihre eigenen Aktionen und ihre Reduzierer;

Alle zeitgestempelten Lösungen


Hier werden nur Fehler angezeigt, und es werden keine guten Punkte erwähnt , von denen es sehr viele gibt. Ich empfehle daher dringend, alles hintereinander zu betrachten, wenn Sie sich als "Juni" in der Entwicklung betrachten, um zu reagieren.




6m00s - Arthur Donkovtsev Commit


7m40s - Tippfehler im Funktionsnamen


8m07s - Asynchrone Anforderungen werden nicht ausgeführt




9:30 Uhr - Pavel Pimkin Commit


10m07s - alle Aktionen in einer Datei. Keine Aufteilung in Module.


10m25s - Das Symbol wird entfernt (Datenaufzählung) und in der Komponente entfernt. Besser in einem Reduzierer oder einer Aktion.




11m42s Sergey ZackFox Commit


12m28s - "coole" Inschriften. Es ist besser, dies „neutral“ zu tun, damit ähnliche Aufgaben sofort an den Arbeitgeber gesendet werden können.


13m05s - eine zusätzliche Aktion, die anzeigt, dass der "Download" abgeschlossen ist. Das heißt, anstelle von drei Aktionen: ANFRAGE / ERFOLG / STOP können Sie zwei treffen: ANFRAGE / ERFOLG.




16m16s - Dmitry Petrov Commit


18m16s - mit var


18m34s - Teil der URL-Adresse nicht konstant




21m15s - Yefim Bread Commit


21m17s - schlechte Festschreibungsnachricht


22m15s sind die gleichen Aktionsnamen.




24m16s - Katsura Vladislav Commit


25m17s - (kein Fehler) - Daten in einem Reduzierer vorbereitet


27m38s - mit e.target , besser e.currentTarget


28m20s - == , aber es wäre notwendig ===


28m33s - mit componentWillUnmount


29m00s (kein Fehler) - Überlegungen zu "vor der Serverüberprüfung".


30m05s - der Code ist nicht formatiert (für einen Amateur)




30m33s - Maxim Safin Commit


31m35s - gegebenenfalls mit einem "nicht universellen" Handler.




32m02s - Sergey Regies Linkas Commit


33m42s - keine Aktion für den Preloader


34m30s - die Reihenfolge der Methoden in der Komponente. ( Eslint Plugin )


35:30 Uhr - Nicht vorhandene PropTypes




35m57s - Kononov Vitaly Commit




38m02s - Renat Rysaev Commit


39m45s - mach nicht was nicht interessant ist




40m31s - Evgeny Sanzhiev Commit


41m20s (kein Fehler) - Wörterbuch für die Arbeit mit Fehlern




42m46s - Vitaliy Embankment Commit


42m54s - Testdaten nicht bereinigt




44m50s - Veniamin Trepachko Commit


Leistung: sehr cooles Design.


47m42s - Redux-Version ist nicht voll.




47m57s - Ingvarr6 (Igor) Commit


48m21s - keine 404 Routen




51m20s - Catherine H Commit


51m30s - Fehler wird nicht behoben




54m48s - Römisch-Palästinensisches Engagement


55m30s - nicht genug Download- Aktionen / Fehler


56m49s - mit Nebenwirkungen in einem Reduzierer


58m10s - (kein Fehler) Entfernen des Web-Symbols mit CSS (krank!)




58m53s - Umyar Yusupov Commit


59m15s - Rückruf in setState verwenden, was zu unnötigem Neuzeichnen führt. Es ist besser, direkt im Render zu validieren.


61m01s - unangemessene Verwendung von else if




62m13s - dsfcv d (boortcore) Commit




63m15s Konstantin Lipsky Commit


65m11s - Die gesamte URL wird an die Aktion übergeben. Es ist besser, nur die ID in dieser Option zu übergeben.




67m14s - Ikaow Ikaow Commit


67m50s ist eine schwierige Bedingung in shouldComponentUpdate, es kann einfacher sein (überprüfen Sie sofort props.data und das wars).


69m32s - e.preventDefault nicht der erste im Handler




70m01s - Ali Gasymov Commit




71m50s - Akhmetanov Albert Commit


72m20s - Komponenten in node_modules


73m15s - doppelte Variablenaufrufe




74m04s - Eugene White Commit


76m04s - privateRoute wurde nicht in eine separate Komponente verschoben


76m33s - komplexer Code zum Verschieben von Web- Symbolen


76m56s - redundante Eigenschaft geladen




77m35s - Aladyin Alexander Commit


80m33s - Fehler im Wörterbuch nicht gemacht




81m19s - Misha Mihail Commit


81m43s - redundante Verwendung mit withRouter




83m04s - Dmitrii Shapovalenko Commit




84m00s - Daniel Commit


84m58s - redundante Aktionsteilung


85m55s - Fehler im Namen der Lebenszyklusmethode




86m58s - Poroshin Roman Commit


87m15s - semantisch falsche Verwendung des article Tags


90m46s - ein zusätzlicher Aufruf der Array-Methode




91m10s - Artem Bochkov Commit

Source: https://habr.com/ru/post/de413135/


All Articles