2013-02-03

A2S : Penamaan CI yg tepat

Yg belum saya pahami, utk penamaan model, view dan controllernya. Bingung, bagusnya gimana yaa??
sebenarnya tidak ada yang namanya penamaan yang bagus.. semua ini terjadi karena pengalaman. tetapi jawaban ini saja tentu tak membuatmu puas.. mari kita melakukan analogi web rumah sakit.

di rumah sakit kita membagi web dalam 3 divisi yaitu divisi rawat jalan, rawat inap dan farmasi. sebenarnya dari sini udah ketahuan bahwa kita butuh yang namanya 3 folder ato mudahnya bila di CI controler.. disini kita mendapatkan nama kontroler, nama kendali ini harus didasarkan pada tema yang sedang kamu buka. Kedepannya kita akan menghadapi keinginan untuk linknya pendek.. misal saya ingin membuat linknya

situsku.co/dokter/gunawan

disini akan terlihat boros karena bikin controler dokter lalu bikin fungsi gunawan.. tapi sebenarnya ada cara mempermudah jadi tulisannya pendek dan hasilnya bisa efektif. Untuk mempermudah pembahasan saya akan bahas 1-1

CONTROLER

controler bisa di analogikan foldernya. namun terkadang sebelum membahas, buat hirarki dahulu yang cocok kamu gunakan. Hirarki ini tergantung dari apa yang kamu sajikan (berdasarkan level user, departemen atau lainnya). tapi untuk mempermudah buat berdasarkan level user, tapi bagaimana penamaan yang bagus??

untuk tamu biasa memakai guest, tetapi sebenarnya nama guest kurang tepat.. biasa kita memakai home.. Atau malah nama lain yang sebenarnya memakai controler guest. Nanti ada user, admin dan lain-lain. Namun inti disini adalah kamu memberi nama yang baik agar kamu sebagai programer dapat mengetahui siapa yang akses (disarankan memakai berdasarkan level dibandingkan departemen atau datanya)

APA YANG DIMAKSUD BERDASARKAN DATA

maksudnya begini.. ketika bahas rumah sakit, kita akan bahas seperti dokter, pasien, service dan lain-lain. Banyak CI yang kulihat memakai penamaan data ini jadi kontrolernya ada

  • dokter
  • pasien
  • service
  • obat
  • dan banyak sekali hingga pusing
salahkah ini? TIDAK?? justru ini benar.. tapi kembali lagi.. apakah kamu lebih mudah yang begini atau malah ... jadi lebih sulit.. sebenarnya jawaban terbanyak tentu lebih mudah.. Lalu bagaimana dengan modul?

MODUL

berbeda dengan Controler yang memakai konsep user (walau kebanyakan pake data) untuk nama. modul malah memakai (disarankan) memakai nama berdasarkan data. Jadi kamu harus menulis berdasarkan data, penulisannya tentu saja (karena ini ci) di akhiri _modul
jadi tidak salah bila ada banyak modul seperti tulisan di atas yaitu dokter dan lain-lain. Tetapi bagaimana dengan fungsi didalamnya? sebenarnya akan lebih baik bila kita menghindari pemakaian kata yang mengulang nama modul.. contoh kita memakai modul dokter, tapi kita menulis fungsinya getDokterData()! Padahal harusnya cukup get... jadi saat ditulis
$this->dokter->get()
dibandingkan
$this->dokter->getDokterData()
alasan singkat biar ngak cape ngetik.. tapi alasan tidak memakai ini karena takut kita bingung akan fungsi apa yang kita panggil (kebiasaan ngak baca depannya). tentu akan ada pertanyaan.. bagaimana dengan view?!?

VIEW

penamaan view seharusnya juga ikut cara modul dan helper.. yaitu pake akhiran _view. Tapi nyatanya kita selalu langsung ketik namanya tanpa view.. alasan sederhana bila kamu melakukan edit data.. dan kamu buka sekaligus banyak.. Kamu akan bingung apakah file yang kamu buka ini view atau controler?!?

Bagaimana dengan penamaan? sebenarnya penamaan lebih condong kepada tipe data yang kita buka dan aksi yang kita lakukan. Namun dalam kenyataan templating berbeda di setiap programer, tidak ada standar yang baku. 

Sejujurnya saya lebih suka panggil 1 file (index_view) dan di dalam index_view memanggil view2 lain.. jadi di contoler tidak ada pemanggilan view lebih dari 1!! namun ingat, programer memiliki ego berbeda.. dan tolong maklumi itu.

Tidak ada komentar: