Morgen: Kaffee, Standup und Legacy-Code analysieren
\n\nStellen Sie sich vor: 9:30 Uhr morgens, eine Tasse Espresso kühlt neben der Tastatur ab, und Sie öffnen bereits VS Code. Ein typischer Tag eines JavaScript-Entwicklers beginnt nicht mit dem Schreiben von Code, sondern mit einem Kontextwechsel. Sie überprüfen Slack, lesen Kommentare zu Pull-Requests und bereiten sich auf das tägliche Standup vor.
\n\nIm Standup (15 Minuten) beantworten Sie drei Fragen: Was wurde gestern erledigt, was ist für heute geplant, gibt es Blockaden. Für einen JavaScript-Entwickler ist dies entscheidend – die Synchronisation mit dem Team spart Stunden an Code-Neufassungen.
\n\nMorgenritual: Code-Review
\n\nWährend Kollegen aus Asien bereits Code abgegeben haben, öffnen Sie GitHub und führen ein Code-Review durch. Typischer JS-Code, der zur Überprüfung eingeht:
\n\n// Schlechtes Beispiel: Mutation eines Objekts\nfunction updateUser(user, newName) {\n user.name = newName;\n return user;\n}\n\n// Gutes Beispiel: Unveränderlichkeit\nfunction updateUser(user, newName) {\n return { ...user, name: newName };\n}\n\n\nSie kommentieren: „Verwenden Sie besser den Spread-Operator, um Seiteneffekte zu vermeiden.“ Das ist keine Spitzfindigkeit – in einem großen Projekt schützt sauberer JavaScript-Code vor Fehlern.
\n\nHauptteil: Zeit für Code (10:00 – 13:00)
\n\nNach dem Standup beginnt die „goldene Zeit“ – 3-4 Stunden ohne Meetings. Was macht ein JavaScript-Entwickler in dieser Zeit? Er schreibt Features, behebt Bugs und führt Refactoring durch.
\n\nBeispiel einer Arbeitsaufgabe: Implementierung einer Paginierung
\n\nAngenommen, Sie müssen eine Paginierung auf der Benutzerlistenseite hinzufügen. Sie verwenden React (oder ein anderes Framework):
\n\n// Paginierungskomponente in React\nfunction Pagination({ currentPage, totalPages, onPageChange }) {\n const pages = Array.from({ length: totalPages }, (_, i) => i + 1);\n\n return (\n <div className="pagination">\n <button \n disabled={currentPage === 1}\n onClick={() => onPageChange(currentPage - 1)}\n >\n Zurück\n </button>\n {pages.map(page => (\n <button\n key={page}\n className={page === currentPage ? 'active' : ''}\n onClick={() => onPageChange(page)}\n >\n {page}\n </button>\n ))}\n <button\n disabled={currentPage === totalPages}\n onClick={() => onPageChange(currentPage + 1)}\n >\n Vor\n </button>\n </div>\n );\n}\n\n\nSie testen die Komponente lokal und überprüfen Randfälle (erste/letzte Seite, leere Liste). Ein Arbeitstag eines JS-Entwicklers ist ohne Modultests undenkbar:
\n\n// Test mit Jest\ntest('deaktiviert "Zurück" auf der ersten Seite', () => {\n render(<Pagination currentPage={1} totalPages={5} onPageChange={() => {}} />);\n const backButton = screen.getByText('Zurück');\n expect(backButton).toBeDisabled();\n});\n\n\nMittagspause und Kontextwechsel (13:00 – 14:00)
\n\nMittagspause ist heilig. Aber viele JavaScript-Entwickler lesen in dieser Zeit technische Blogs oder schauen sich Konferenzvorträge an. Tipp: Tun Sie das nicht. Das Gehirn braucht Erholung. Machen Sie lieber einen 20-minütigen Spaziergang – das steigert die Produktivität am Nachmittag.
\n\nNachmittag: Bugs, Optimierung und Kommunikation (14:00 – 17:00)
\n\nDer Nachmittag ist die Zeit für „schmutzige Arbeit“. Sie beheben Bugs, optimieren Abfragen und kommunizieren mit dem Team.
\n\nBeispiel: Leistungsdebugging
\n\nEin Kollege beschwert sich, dass die Seite langsam ist. Sie öffnen die DevTools, den Reiter Performance, und sehen ein Speicherleck aufgrund eines vergessenen setInterval:
\n\n// Problematischer Code\nfunction startPolling() {\n setInterval(() => {\n fetch('/api/status')\n .then(res => res.json())\n .then(data => updateUI(data));\n }, 1000);\n}\n\n// Korrektur: Be