Ya, menambahkan awalan yang menunjukkan jenis objek adalah masalah, dan tidak perlu . Karena,
- Terkadang objek memulai kehidupan sebagai sesuatu tetapi akhirnya akan menjadi sesuatu yang lain . (mis. tabel
tblXxx
dipecah menjadi tblXxxY
dan tblXxxZ
untuk beberapa alasan dan diganti dengan tampilan yang menggabungkan dua tabel baru. Sekarang Anda memiliki tampilan yang disebut tblXxx
).
- Saat Anda mengetik
tbl
di editor, fitur AutoComplete-nya hang selama 45 detik dan kemudian menunjukkan daftar 4000 entri.
Tapi...
Aku akan berperan sebagai advokat iblis dan mengatakan sesuatu yang secara langsung dinasihati oleh orang lain. Ada beberapa kasus langka yang sufiks / awalan bisa berguna, dan inilah contoh dari organisasi tempat saya bekerja.
Kami memiliki sistem ERP berbasis entitas, di mana logika bisnis ditulis dalam Oracle PL / SQL. Sudah hampir dua dekade, namun sistem yang sangat stabil (Ini bukan sistem warisan. Kami terus mengembangkannya).
Sistem berbasis entitas, dan setiap entitas mengaitkan tabel, banyak tampilan, beberapa paket PL / SQL, dan sejumlah objek database lainnya.
Sekarang, kami ingin objek milik entitas yang sama memiliki nama yang sama tetapi belum dapat dibedakan dari tujuan dan jenisnya. Jadi, jika kita memiliki dua entitas yang dinamai CustomerOrder
dan CustomerInvoice
, kita akan memiliki objek berikut:
- Tabel untuk menyimpan data [
TAB
suffix]:
CUSTOMER_ORDER_TAB
CUSTOMER_INVOICE_TAB
.
- Tampilan yang digunakan oleh klien [Tanpa akhiran]:
CUSTOMER_ORDER
CUSTOMER_INVOICE
.
- Antarmuka untuk operasi dasar; (Paket PL / SQL) [
API
akhiran]:
CUSTOMER_ORDER_API
CUSTOMER_INVOICE_API
.
- Laporkan generator; (Paket PL / SQL) [
RPI
akhiran]:
CUSTOMER_ORDER_RPI
CUSTOMER_INVOICE_RPI
.
- Indeks untuk kunci primer [
PK
akhiran]:
CUSTOMER_ORDER_PK
CUSTOMER_INVOICE_PK
.
- Indeks sekunder [
IX
akhiran]:
CUSTOMER_ORDER_XXX_IX
CUSTOMER_INVOICE_XXX_IX
(di mana XXX
menggambarkan penggunaan indeks).
- ... dan seterusnya.
Ini memang bentuk Aplikasi Hungaria (perhatikan bahwa jenis objek yang sama dapat memiliki akhiran yang berbeda tergantung pada tujuannya). Tapi, dengan akhiran bukan awalan. Saya tidak bisa memberi tahu Anda cukup bagaimana sistem ini begitu mudah dibaca. IntelliSense sebenarnya berfungsi karena alih-alih mengetik TBL
dan mendapatkan 4000 hasil, saya bisa mengetik Customer
dan mendapatkan semua objek milik entitas yang bernama Customer*
.
Jadi, di sini saya telah menunjukkan kepada Anda bagaimana metadata dapat bermanfaat. Tujuannya adalah untuk memiliki satu set objek database terkait yang dapat diidentifikasi dengan satu nama, namun membedakannya berdasarkan tujuannya .
Karena itu, jika Anda tidak memiliki sistem semacam ini, tidak ada penggunaan awalan atau akhiran jenis objek .
Perhatikan bahwa kita tidak menggunakan akhiran seperti _table
, _package
, atau _view
(yaitu jenis objek). Sebagai contoh, keduanya (3) dan (4) adalah paket PL / SQL, namun menggunakan akhiran yang berbeda. Sama untuk (5) dan (6), keduanya merupakan indeks. Jadi sufiks didasarkan pada tujuan dan bukan tipe .
Class
?