Diketahui bahwa sangat baik bagi seorang programmer untuk malas , karena melakukan lebih banyak dengan lebih sedikit adalah kunci untuk maju . Tidak ada yang suka melakukan hal yang sama berulang kali. Ini melelahkan, membosankan, dan sama sekali tidak kreatif. Mengulangi tindakan yang sama, kita sering melakukan kesalahan, tetapi, untungnya, ada orang yang benar-benar bagus dan efektif dalam melakukan tugas yang sama. Dan ini adalah KOMPUTER !

Saat ini, pembuatan kode adalah kemampuan untuk melakukan pekerjaan dalam waktu sesingkat mungkin . Ide dasarnya sederhana: untuk menemukan pola dalam bagian kode yang sama dan membosankan yang harus ditulis berulang kali, buat alat untuk generasi, jalankan dan lihat bagaimana keajaiban terjadi!
Di dunia pengembangan Android, alat-alat seperti itu sudah dikenal luas oleh setiap pengembang. Ini adalah Retrofit, dan Belati, dan Kamar. Bagaimana dengan Dart? Dan pertanyaan yang tidak kalah pentingnya: apa yang kita butuhkan untuk membuat alat sendiri untuk pembuatan kode?
Pembuatan dart dan kode: alat yang terjangkau
Untuk membuat alat pembuatan kode, kita membutuhkan dua paket berikut:
source_gen
Paket ini menyediakan API yang nyaman untuk menghasilkan kode. Ini adalah abstraksi dari beberapa paket Dart tingkat rendah, seperti analyzer dan build . Meskipun penggunaan paket ini bersifat opsional, ia dapat menyelamatkan Anda dari banyak kesulitan.
source_gen menyediakan dua kelas generator abstrak yang mengikuti pola Pengunjung :
Generator
: ketika mewarisi kelas ini, setiap elemen kode Anda akan dikunjungi. Dengan demikian, Anda memiliki kontrol penuh atas apa yang harus dilakukan dengan setiap node atau elemen yang dikunjungi.GeneratorForAnnotation
: kelas ini mirip dengan Generator sederhana, tetapi ketika Anda mewarisi kelas ini, Anda juga menentukan "anotasi". Dengan demikian, hanya simpul yang diberi penjelasan dengan penjelasan ini yang akan dikunjungi. Sisa kode akan diabaikan.
Anda juga perlu mengkonfigurasi Builder
, yang akan menjadi pembungkus generator. Ada tiga opsi:
- Jika Anda ingin menulis
partial
kode, maka Anda harus memilih SharedPartBuilder
. "bagian" memungkinkan Anda untuk membagi perpustakaan menjadi beberapa file Dart. SharedPartBuilder
membuat file dengan ekstensi .g.dart
. - Anda juga dapat menggunakan
PartBuilder
jika Anda ingin menggunakan pendekatan "bagian", tetapi Anda perlu lebih banyak kontrol atas ekstensi file yang dihasilkan, misalnya .my_file.dart
. - Jika Anda ingin menulis perpustakaan yang berdiri sendiri yang dapat diimpor, gunakan
LibraryBuilder
.
build_runner
Alat ini memungkinkan Anda untuk menjalankan generator pada tahap pengembangan. Itu bisa dipanggil dari baris perintah:
pub run build_runner <command>
Di tempat <command>
mungkin:
build
: memulai generasi sekali.watch
: meluncurkan daemon yang melacak perubahan pada file dan memulai pembuatan ketika dibutuhkan.serve
: mirip dengan menonton, tetapi dimulai seperti server pengembangan.test
: memulai pembuatan satu kali, membuat direktori keluaran bersama, dan kemudian pub run test --precompiled <merged-output-dir>
Agar source_gen
berfungsi, Anda juga harus membuat file buil.yaml
, yang menunjukkan rincian konfigurasi pembuat kode.
Menggunakan Pembuatan Kode di Dart
Pembuatan kode digunakan di banyak perpustakaan terkenal untuk Dart:
Lebih lanjut ...
Bagian kedua akan menunjukkan cara menggunakan anotasi dan pembuatan kode untuk melacak semua TODO
dalam aplikasi.