Relative-only paths
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- C#
- Sterne
- 104
- Forks
- 18
- Ø Merge
- 9 Min.
- Gemergte PRs (30 T.)
- 2
Beschreibung
Currently, we have the following two types for paths:
AbsolutePathfor, well, absolute paths,LocalPathfor any paths.
We lack a separate type to specify a relative-only type, so let's get one. @PaGrom makes a good argument on its existence, see https://github.com/ForNeVeR/TruePath/issues/1#issuecomment-1113823321.
I propose the following design:
struct RelativePath
{
public RelativePath(string path, bool trimLeadingSlash = false) { … }
}
Examples:
new RelativePath("foo/bar") // => foo/bar
new RelativePath("/foo/bar", trimLeadingSlash = true) // => foo/bar
new RelativePath("/foo/bar"); // exception
Whether trimLeadingSlash should be true or false by default I am not sure. @PaGrom, what do you think? I would lean towards more strict behavior by default.
See TODO[#23] in the project sources when implementing this.
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Finde TODO[#23] in den Projektquellen und untersuche zuerst die vorhandenen Typen AbsolutePath und LocalPath. Leite das Verhalten von RelativePath aus den Beispielen ab, einschließlich der Ablehnung oder des Entfernens eines führenden Schrägstrichs, und kläre den nicht angegebenen Standardwert für trimLeadingSlash. Erledigt ist die Aufgabe, wenn der neue Typ ausschließlich relative Pfade erzwingt und sich konsistent in die vorhandenen Pfadtypen integriert.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- csharp
- Bereich
- devtools
- Issue-Typ
- Feature
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 38/100