
Você não precisa mais colocar Log.d() em todas as linhas de código!
Quando depuramos aplicativos, às vezes começamos a gerar logs em todo o código para lidar com qualquer problema.
class MainActivity : AppCompatActivity() { lateinit var retrofit: Retrofit override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) setupToolbar() Log.d("MyApp", "Toolbar Set") initRetrofit() Log.d("MyApp", "Retrofit Initialized") var myButton = findViewById<Button>(R.id.search_close_btn) myButton.setOnClickListener { Log.d("MyApp", "My Button Clicked") } Log.d("MyApp", "Activity Creation Done!") } }
Isso funciona muito bem, mas acontece que esquecemos de excluir os logs antes de confirmar e eles "com segurança" entram no código de produção.
É uma boa prática não deixar logs para depuração após a conclusão, mesmo se você usar o ProGuard para excluí-los automaticamente no código compilado, pois eles afetam negativamente a legibilidade geral do seu código. Como os comentários, os logs podem facilmente começar a divergir do código ao seu redor, na melhor das hipóteses se tornando inúteis e, na pior das hipóteses, enganosos.
A situação se torna mais complicada quando o registro exige que certas condições sejam atendidas. Agora, isso não é apenas uma pilha inútil de if else código, mas também um código potencialmente caro.
Mas acontece que existe uma maneira muito simples de resolver esse problema. O IntelliJ e o Android Studio permitem criar pontos de interrupção (pontos de interrupção em inglês) que não interrompem a execução do código (sim, isso é legal).
Primeiro, crie um ponto de interrupção em qualquer linha, clicando no lado esquerdo do editor ou usando o atalho de teclado Ctrl-F8 . Você pode editar o ponto de interrupção clicando com o botão direito do mouse ou usando o atalho de teclado Ctrl-Shift-F8 . Você verá uma janela como esta:

Em seguida, desmarque Suspend ( pausa russa) e você verá mais opções nesta janela modal:

Agora adicione quaisquer logs ao campo Evaluate and log seguinte maneira:

E depois de remover todos os logs do código e adicioná-los aos pontos de interrupção, seu código ficará limpo:
class MainActivity : AppCompatActivity() { lateinit var retrofit: Retrofit override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) setupToolbar() initRetrofit() var myButton = findViewById<Button>(R.id.search_close_btn) myButton.setOnClickListener { } } }
Muito melhor né? Agora vá e use pontos de interrupção ininterruptos! Tudo o que você precisa fazer é iniciar o aplicativo no modo de depuração, e as mensagens serão exibidas no console.
Leia sobre outros truques no Android Studio aqui.