Una grande parte del mio lavoro quotidiano sta sviluppando un software per l'utilizzo su macchine con diverse versioni dello stesso software, come bash
, find
e 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.