You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -570,6 +570,24 @@ function showEmployeeList(employee: Developer | Manager) {
570
570
}
571
571
```
572
572
573
+
You may also consider adding a union type, or common parent class if it suits your abstraction.
574
+
575
+
```ts
576
+
classDeveloper {
577
+
// ...
578
+
}
579
+
580
+
classManager {
581
+
// ...
582
+
}
583
+
584
+
typeEmployee=Developer|Manager;
585
+
586
+
function showEmployeeList(employee:Employee[]) {
587
+
// ...
588
+
}
589
+
```
590
+
573
591
Du solltest kritisch gegenüber Code-Duplizierung sein. Manchmal gibt es einen Kompromiss zwischen doppeltem Code und erhöhter Komplexität durch die Einführung unnötiger Abstraktion. Wenn zwei Implementierungen aus zwei verschiedenen Modulen ähnlich aussehen, aber in verschiedenen Domänen leben, kann die Duplizierung akzeptabel sein und dem Extrahieren des gemeinsamen Codes vorgezogen werden. Der extrahierte gemeinsame Code führt in diesem Fall eine indirekte Abhängigkeit zwischen den beiden Modulen ein.
574
592
575
593
**[⬆ zum Anfang](#inhalt)**
@@ -1289,7 +1307,7 @@ Im Fall von Array kannst du ein schreibgeschütztes Array erstellen, indem du `R
1289
1307
```ts
1290
1308
const array:number[] = [1, 3, 5];
1291
1309
array= []; // error
1292
-
array.push(100); // array will updated
1310
+
array.push(100); // array will be updated
1293
1311
```
1294
1312
1295
1313
**Gut:**
@@ -2354,18 +2372,17 @@ import { promisify } from "util";
Verwende bevorzugt `PascalCase` für Klassen-, Interface-, Typ- und Namensraumnamen.
2578
2598
Verwende bevorzugt `camelCase` für Variablen, Funktionen und Klassenmitglieder.
2599
+
Verwende bevorzugt `SNAKE_CASE` für Konstanten.
2579
2600
2580
2601
**[⬆ zum Anfang](#inhalt)**
2581
2602
@@ -2673,6 +2694,7 @@ Mit sauberen und einfach zu lesenden Import-Anweisungen kannst du schnell die Ab
2673
2694
- Unbenutzte Importe sollten entfernt werden.
2674
2695
- Benannte Importe müssen alphabetisch geordnet sein (z.B. `import {A, B, C} from 'foo';`)
2675
2696
- Importquellen müssen innerhalb von Gruppen alphabetisch geordnet werden, z.B.: `import * as foo from 'a'; import * as bar from 'b';`
2697
+
- Bevorzuge die Verwendung von `import type` anstelle von `import`, wenn du nur Typen aus einer Datei importierst, um Abhängigkeitszyklen zu vermeiden, da diese Importe zur Laufzeit gelöscht werden
2676
2698
- Gruppen von Importen werden durch Leerzeilen abgegrenzt.
2677
2699
- Gruppen müssen folgende Reihenfolge einhalten:
2678
2700
- Polyfills (d.h. `import 'reflect-metadata';`)
@@ -2687,6 +2709,7 @@ Mit sauberen und einfach zu lesenden Import-Anweisungen kannst du schnell die Ab
0 commit comments