Usa la conversione di base
Questa risposta era a una domanda che voleva l'arte ASCII che consisteva nei personaggi + |-e nelle nuove linee. Poiché ci sono solo 5 caratteri possibili, questi possono essere trattati come un numero di base 5 e convertiti in byte, comprimendo 3,45 caratteri per byte.
Sfruttare le regolarità
Spesso, i dati avranno alcune regolarità, anche se tali regolarità non sono abbastanza forti da impiegare strumenti specifici come il mirroring. Ad esempio, nella domanda di cui sopra, l'output desiderato aveva una nuova linea approssimativamente distribuita uniformemente durante il test, poiché il testo era approssimativamente rettangolare. L'ho sfruttato per abbreviare il mio codice, usando la funzione divisa in n pezzi di Pyth, quindi unendomi a nuove righe.
Conosci i tuoi strumenti e scegli quello giusto per il lavoro.
Gli strumenti di elaborazione del testo più potenti ed efficienti che conosco sono:
Motori Regex:, ///Retina, Perl, in ordine di potenza / compromesso conciso.
Usa se la cosa che vuoi fare può essere descritta in modo conscio nelle sostituzioni regex, come questa risposta
Strumenti di elaborazione del testo oscuri: gema, ecc. (Sono sicuro che ce ne sono altri, ma sono troppo oscuri)
Usa se hanno una funzione che è esattamente ciò di cui hai bisogno, che nient'altro ha. Come in questa domanda , con la corrispondenza ricorsiva della gema.
Linguaggi di golf con codice generale: CJam, Pyth, ecc.
Utilizzare se si sta sfruttando una sottigliezza abbastanza complessa da non consentire a nessun altro strumento di eseguire il lavoro o di accorciare il lavoro.
Prova molti approcci
Questo vale per ogni domanda di code-golf, ma soprattutto qui. Non saprai se una regolarità è sfruttabile fino a quando non la provi. Forse in più lingue.