Access
 sql >> Teknologi Basis Data >  >> RDS >> Access

Blok indah dari Boilerplate

Dalam artikel saya, Rutin ArrowKeyNav, saya menyajikan Sub yang dapat Anda gunakan untuk mengganti penanganan default tombol panah atas dan bawah pada formulir berkelanjutan. Masalah dengan rutin seperti yang saya sajikan adalah Anda harus memanggilnya dari setiap kontrol tempat Anda ingin mengganti fungsionalitas tombol panah.

Inilah yang mungkin terlihat seperti dalam modul formulir:

Private Sub cbSupplierID_KeyDown(KeyCode As Integer, Shift As Integer)
    ArrowKeyNav KeyCode, Shift
End Sub

Private Sub chkDiscontinued_KeyDown(KeyCode As Integer, Shift As Integer)
    ArrowKeyNav KeyCode, Shift 
End Sub

Private Sub tbID_KeyDown(KeyCode As Integer, Shift As Integer)
    ArrowKeyNav KeyCode, Shift
End Sub

Private Sub tbListPrice_KeyDown(KeyCode As Integer, Shift As Integer)
    ArrowKeyNav KeyCode, Shift
End Sub

Private Sub tbProductCode_KeyDown(KeyCode As Integer, Shift As Integer)
    ArrowKeyNav vbKeyDown, Shift
End Sub

Private Sub tbProductName_KeyDown(KeyCode As Integer, Shift As Integer)
    ArrowKeyNav KeyCode, Shift
End Sub

Ada beberapa cara untuk mengurangi jumlah kode boilerplate yang kita butuhkan dalam situasi ini, tetapi kita akan mengesampingkannya untuk tujuan artikel ini. Jadi, demi argumen, anggap saja tidak ada cara untuk mengurangi jumlah kode. Mengingat kendala itu, bagaimana kita bisa meningkatkan keterbacaan kode di atas?

Menggabungkan baris kode dengan karakter titik dua

Kita dapat menggabungkan beberapa baris kode menggunakan karakter titik dua (: ).

digunakan sebagai elemen terminal tata bahasa sintaksis untuk memberi nama token yang bertindak sebagai penanda "akhir pernyataan". Secara umum, akhir pernyataan ditandai dengan atau karakter titik dua .

Meningkatkan keterbacaan dengan menggabungkan baris

Teknik ini adalah sesuatu yang perlu Anda gunakan dengan hati-hati. Namun, jika digunakan dengan bijaksana, ini dapat meningkatkan keterbacaan kode Anda.

Dalam contoh kode di atas, setiap Sub memanggil kode yang sama persis:

ArrowKeyNav KeyCode, Shift

Sebenarnya, itu tidak benar. Jika Anda perhatikan lebih dekat, Anda akan melihat bahwa tbProductCode_KeyDown() melewati rutin vbKeyDown bukannya KeyCode sebagai argumen pertama.

Perbedaan ini mudah dilewatkan menggunakan format VBA standar, meskipun:

Membuat kode yang salah terlihat salah

Jika kita menggabungkan garis menggunakan titik dua–dan mengatur spasi sehingga semua panggilan kita ke ArrowKeyNav rata kiri–maka ketidakkonsistenan yang menyatu di atas menonjol seperti jempol yang sakit pada kode di bawah ini:

Jika dilihat dalam konteks fungsi dan subrutin normal, blok kode boilerplate kami jelas berbeda. Perbedaan ini membantu meningkatkan rasio signal-to-noise dari kode kita:


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Berapa Banyak Pengguna yang Dapat Mengakses Dukungan?

  2. Apa Itu Microsoft Access dan Untuk Apa Anda Menggunakannya?

  3. 10 Tips Microsoft Access untuk Membuat Query Pilihan

  4. Fungsi IIf() vs. Pernyataan IIf()

  5. Penanganan Kesalahan Tingkat Lulusan