Windows-informazioni riservate: L'evoluzione dell'ordinamento

La storia dello sviluppo di algoritmi di ordinamento per Esplora risorse è complessa e ha radici lontane.

Raymond Chen

Esplora iniziato con un algoritmo di ordinamento molto semplice. È stato ordinato i nomi dei file in base alla funzione "funzionano". L'operazione eseguita un confronto di specifiche impostazioni internazionali, senza maiuscole/minuscole. É anche questa funzione di confronto era piuttosto complicata contemporaneamente. Ad esempio, ha dato un trattamento speciale per i trattini e apostrofi.

Di conseguenza, quando Windows 95 ordinato i nomi di file per la visualizzazione in Esplora risorse, dovrà inserire file139 prima del file20. Ciò è perfettamente logico dal punto di vista di un programmatore di computer. È inoltre completamente poco intuitivo per gli esseri umani normali, ovvero in questo modo atti a comprovare che i programmatori di computer non sono normali esseri umani.

In Windows XP, Microsoft ha aggiornato l'algoritmo di ordinamento di Esplora risorse di Windows siano conformi alle aspettative degli esseri umani normali. Considerato cifre nei nomi di file numeri al posto di sequenze di caratteri. Mentre migliorata, l'ordinamento per la maggior parte delle persone, non vi sono casi in cui questa modifica ha determinata alcune sorprese.

Un esempio che si verificasse con maggiore frequenza durante i nomi di file che contiene i valori esadecimali. Sotto il nuovo numero, basato su ordinamento, Esplora presuppone che un file denominato "1040A" dovrebbe ordinare leggermente dopo "1040" e supporre un file denominato "103F2". Se per qualsiasi motivo ha l'abitudine di visualizzazione delle cartelle complete dei file i cui nomi sono i valori esadecimali, è possibile impostare il criterio "Disattivare ordinamento numerico in Esplora risorse". Questo criterio back ordinamento viene modificato il modo in cui era nelle versioni di Windows precedenti a Windows XP, vale a dire, di un carattere.

Punti e spazi

In Windows Vista, si è verificato un piccolo tweak effettuate per l'algoritmo di confronto, poiché i periodi avere due funzioni. Sono caratteri tradizionali per giorno, ma vengono anche utilizzati come indicatori di estensione del file di notte. Di conseguenza, un file denominato File 1. txt finisce counter-intuitively da ordinare dopo il file. txt perché il periodo è stato viene confrontato con lo spazio e perdere.

Microsoft ha aggiunto una nuova regola per l'algoritmo di ordinamento in Windows Vista in modo che i periodi vengono considerati come l'ordinamento prima di spazi anziché dopo la loro. Se questo Sottoregola non è soddisfacente, è possibile disattivare impostando NoDotBreakInLogicalCompare, ma solo in Windows Vista. L'impostazione non ha alcun effetto su Windows 7.

È minore di strano, un altro caso in cui l'ordinamento di un carattere può essere preferibile: se si dispongono di nomi di file con un numero a virgola mobile in essi contenuti. L'algoritmo di ordinamento numero risulta esposto "1,5" davanti "1,25". Ciò è corretto se "1.5" e "1,25" fa riferimento a una gerarchia numerata, ad esempio una sezione di codice valido. Titolo 1, capitolo 5 proveniva prima titolo 1, capitolo 25.

D'altro canto, se "1.5" e "1,25" si riferiscono alle dimensioni di un elemento della macchina in centimetri, quindi si aspetta "1,25" precede "1,5". Poiché Windows Explorer non dispone di un contesto sufficiente sapere se numero in virgola qualsiasi particolare stringa di cifre dopo la virgola decimale è un numero gerarchico o mobile, è necessario che la procedura di configurazione.

In Windows 7 è stata introdotta una modifica più sottile di algoritmi di ordinamento. Un cliente osservato che se aveva due file, con l'etichetta qualcosa di simile a file1. txt e file2. txt, i file visualizzati in quell'ordine se ha ordinato la cartella in base al tipo, vale a dire al comportamento previsto.

Se ha fatto clic sull'intestazione di tipo una seconda volta per invertire l'ordinamento, le versioni precedenti di Windows dovrebbe continuare ad inoltrare file1. txt prima di File2. txt. Tuttavia, il file Switch posizioni all'interno di Windows 7 con File2. txt provenienti davanti file1. txt. Il cliente è stato confuso da questa modifica nel comportamento perché aveva "irragionevole."

La colonna di tipo è consapevole del fatto che è comune per numero di elementi da disporre dello stesso tipo, in modo che indica che il nome dell'elemento devono venir cravatte. Oltre a rendere l'ordinamento in base tipo un po' più coerenza, significa inoltre che quando si inverte l'ordine, gli elementi all'interno di ogni tipo anche ordine inverso. Infatti un comportamento ragionevole per molti utenti si aspettano di attivazione e disattivazione di una colonna per invertire l'insieme di elementi.

Pertanto, la volta successiva che si esegue un ordinamento, ricordare che durante l'ordinamento suoni semplici e lineare, non esiste varie problematiche dietro le quinte..

Raymond Chen’s

Raymond Chendel Sul sito Web, il vecchio nuovo aspetto e gestire le libro dall'omonimo titolo (Addison-Wesley, 2007) di storia di Windows, Win32 polli metalli Gigante e la programmazione.

Contenuto correlato