Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

Provide guarantees about portable path ordering

Aperta
#130 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
38/100
Tipo di issue
Funzionalità
Chiarezza
Abbastanza chiara
Stato di attività
Ferma
Stack tecnologico
csharp

Direzione di ricerca

L’issue non indica alcun file né alcun test. Inizia individuando il punto di ingresso per l’ordinamento o il confronto dei percorsi e i test esistenti per l’ordinamento dei percorsi; quindi determina come vengono confrontati i separatori di directory nei diversi sistemi operativi. Il lavoro è completato quando la garanzia sull’ordinamento è documentata e coperta da test per i percorsi relativi contenenti separatori.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

enhancement good first issue help wanted

In other ecosystems (e.g. Java), I was once surprised by the following behavior.

Say you have a list of relative paths (legally distinguishable on multiple operating systems, i.e. they don't have case conflicts and mix-ups), and you sort them.

In Java, there's no guarantee you'll have the same order on all operating systems, because / and \ have different sort order, and even if you have the same path letters, you'll have different order — say, items ["a/a", "a-a", "a.a"] vs ["a-a", "a.a", @"a\a"] might be sorted differently.

A particular problem I've had with this:

> listOf(
  java.nio.file.Path.of("commons"),
  java.nio.file.Path.of("com/x")
).sortedBy { it }
// => [commons, com\x]

> listOf(
  "commons",
  "com/x"
).sortedBy { it }
// => [com/x, commons]

TruePath should guarantee the same ordering for items involving directory separators (i.e. the directory separator should have the same ordering on all the operating systems), document this and cover by tests, of course.

Lingua principale
C#
Stelle
106
Fork
22
Merge medio
3g 2h
PR unite (30g)
13

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di ForNeVeR/TruePath

Tutte le issue di ForNeVeR/TruePath

Issue simili

Altre issue su C#

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.