Una grande parte del mio lavoro quotidiano sta sviluppando un software per l'utilizzo su macchine con diverse versioni dello stesso software, come bash, finde grep. Quando si incontra una funzione che sarebbe utile ad esempio per semplificare il codice, è importante sapere se questa funzione è disponibile negli strumenti installati più vecchi. Per cose critiche, sarebbe anche utile sapere se questa funzionalità era nuova o esiste da anni nei più vecchi strumenti installati.
Quali sono i modi rapidi per rispondere in modo autorevole a strumenti Linux, in particolare GNU Core Utils? Alcune possibilità in ordine di precisione decrescente:
- La ricerca binaria binaria (sic) eseguendo le diverse versioni è ovviamente la risposta definitiva, ma è di gran lunga la più dispendiosa in termini di tempo. Le installazioni precedenti spesso non sono disponibili per motivi di sicurezza.
- La lettura del codice è quasi altrettanto buona, ma può richiedere in modo proibitivo il tempo se la funzione è vagamente denominata, il nome non corrisponde direttamente ai nomi delle variabili / funzioni / oggetti o è stato implementato prima che fosse abilitato.
- I registri delle modifiche , se disponibili, in genere collegano le modifiche delle funzionalità alle versioni del software.
- I log di commit possono fornire suggerimenti, ma non sanno in quale versione saranno inclusi.
- le pagine man raramente menzionano date.
- Lo stesso vale per Google , e avresti anche difficoltà a escludere tutte le fonti non autorevoli.