Usar conversão base
Esta resposta foi para uma pergunta que queria arte ASCII, que consistia em caracteres + |-
e novas linhas. Como existem apenas 5 caracteres possíveis, eles podem ser tratados como um número base 5 e convertidos em bytes, compactando 3,45 caracteres por byte.
Explorar regularidades
Frequentemente, os dados terão algumas regularidades, mesmo que essas regularidades não sejam fortes o suficiente para empregar ferramentas específicas, como espelhamento. Por exemplo, na pergunta acima, a saída desejada apresentava novas linhas aproximadamente uniformemente espaçadas ao longo do teste, já que o texto era aproximadamente retangular. Eu explorei isso para encurtar meu código, usando a função dividida em n pieces de Pyth, e então ingressando em novas linhas.
Conheça suas ferramentas e escolha a ferramenta certa para o trabalho.
As ferramentas de processamento de texto mais poderosas e eficientes que conheço são:
Motores Regex:, ///
Retina, Perl, em ordem de troca de potência / concisão.
Use se o que você deseja fazer puder ser descrito conscientemente nas substituições de expressões regulares, como esta resposta
Ferramentas de processamento de texto obscuras: gema etc. (tenho certeza de que existem outras, mas são muito obscuras)
Use se eles tiverem um recurso exatamente o que você precisa, que nada mais possui. Como nesta pergunta , com a correspondência recursiva do gema.
Linguagens de golfe com códigos gerais: CJam, Pyth, etc.
Use se estiver explorando alguma sutileza complexa o suficiente para que nenhuma outra ferramenta faça o trabalho ou apenas faça o trabalho mais curto.
Tente muitas abordagens
Isso se aplica a todas as questões de código-golfe, mas especialmente aqui. Você não saberá se uma regularidade é explorável até que você a experimente. Possivelmente em vários idiomas.