
Anda tidak perlu lagi meletakkan Log.d()
di setiap baris kode!
Ketika kita men-debug aplikasi, kadang-kadang kita mulai membuat log di seluruh kode untuk menangani masalah apa pun.
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!") } }
Ini berfungsi dengan baik, tetapi kami lupa menghapus log sebelum melakukan, dan mereka "dengan aman" masuk ke dalam kode produksi.
Adalah praktik yang baik untuk tidak meninggalkan log untuk debugging setelah selesai, bahkan jika Anda menggunakan ProGuard untuk secara otomatis menghapusnya dalam kode yang dikompilasi, karena mereka memiliki efek yang merugikan pada keterbacaan keseluruhan kode Anda. Seperti komentar, log dapat dengan mudah mulai menyimpang dari kode yang mengelilinginya, paling tidak menjadi tidak berguna, dan paling buruk menyesatkan.
Situasi menjadi lebih rumit ketika penebangan membutuhkan kondisi tertentu untuk dipenuhi. Sekarang ini bukan hanya tumpukan yang tidak berguna if else
, tetapi juga berpotensi kode mahal.
Tetapi ternyata ada cara yang sangat sederhana untuk menyelesaikan masalah ini. IntelliJ dan Android Studio memungkinkan Anda membuat breakpoints (bahasa Inggris breakpoints ) yang tidak mengganggu eksekusi kode (ya, ini legal).
Pertama, buat breakpoint pada baris apa saja, baik dengan mengklik di sisi kiri editor, atau menggunakan pintasan keyboard Ctrl-F8
. Anda kemudian dapat mengedit breakpoint baik dengan mengklik kanan atau menggunakan pintasan keyboard Ctrl-Shift-F8
. Anda akan melihat jendela seperti ini:

Kemudian hapus centang Suspend
(Rusia jeda ), dan Anda akan melihat lebih banyak opsi di jendela modal ini:

Sekarang tambahkan log apa saja ke bidang Evaluate and log
sebagai berikut:

Dan setelah menghapus semua log dari kode dan menambahkannya ke breakpoints, kode Anda akan terlihat bersih:
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 { } } }
Jauh lebih baik, bukan? Sekarang, pergi dan gunakan breakpoints tanpa gangguan! Yang harus Anda lakukan adalah meluncurkan aplikasi dalam mode debug, dan pesan akan ditampilkan di konsol.
Baca tentang trik lain di Android Studio di sini.