<$BlogRSDUrl$>

Monday, July 26, 2004

Bhgn 5 - Belajar Code Reuse

Setelah gagal menyiapkan PMS (payphone management system) utk payphone Tamura bagi pelanggan U, D ingatkan semua hasil usahanya selama lebih 1 tahun ni, akan berkubur begitu shj. Rupa2nya tidak. Syarikatnya S, iaitu majikannya sendiri, berminat utk hasilkan payphone buatan tempatan. Dan, sudah pasti ia memerlukan pms nya yg sendiri. D ditugaskan utk menghasilkan satu pms, khas utk payphone syarikat S.

Setelah membuat penelitian, terdpt beberapa perbezaan antara kedua2 payphone S dan payphone Tamura ni, dari segi sistem. Dua yg utama ialah:
1. Komunikasi payphone Tamura menggunakan DTMF. Komunikasi payphone S menggunakan modem pada kelajuan 1200 baud.
2. Walaupun kebanyakan data adalah sama, terdpt beberapa yg berbeza. Payphone syarikat S ni, adalah gabungan yg terbaik antara kedua2 payphone Tamura dan payphone GPT.

Design pms yg D buat dulu memisahkan antara bhgn komunikasi dgn bhgn GUI pms yg mengawal bhgn lain spt tetapkan rate table, register payphone baru, reporting, dll. Jadi, utk pms baru ni, bhgn komunikasi perlu diubah 100% utk menyokong modem. Bhgn GUI mempunyai lebih kurang 70% ke 80% persamaan.

Di sini la, D belajar code reuse teknik terhebat iaitu copy, paste, modify! Walaupun teknik terhebat ni bukanlah teknik baru buat D, tapi inilah kali pertama D buat pada tahap yg begini besar. Begitu banyak code VB yg perlu D copy dpd pms lama dan paste ke pms baru, dan lakukan perubahan supaya memenuhi kehendak yg baru.

"Agaknya, inilah caranya utk melakukan code reuse. Agaknya, inilah cara standard. Agaknya, inilah cara terhebat utk lakukan code reuse. Mana ada cara lain." Itu la kata2 hati D.

Tapi, cara ini juga punya masalah yg D rasa tak puas hati, antaranya:
1. Code yg dicopy dpd pms lama tu, jalan dgn baiknya di pms lama, tapi hancus di pms baru. Kena ubah lebih banyak lagi serta debug lebih lagi sebelum berjaya menjalankannya.
2. Terdpt fungsi yg banyak digunakan, tapi terhadap, cthnya, data structure yg berbeza. Code yg dicopy dpd pms lama, di paste kat pelbagai tempat dlm pms baru. Setelah penat lelah merubahnya supaya jalan, tiba2 fungsi tu perlu diubah.

Akibatnya, D terpaksa cari code yg menjalankan fungsi tersebut kat merata2 tempat dan melakukan perubahan yg lebih kurang sama. Lagi teruk bila D terlupa/terlepas mana2 code ini dan terpaksa mencari2 dlm code sebelum ... "Ceh! Kat sini rupanya engkau!...".

D merasa tidak puas hati, cukup tak puas hati. "Mesti ada cara yg lebih baik dpd ini?! Takkan la ini je caranya!!...".

D pernah dengar tentang OOP (object oriented programming). Dan al kononnya, oop mampu meningkatkan code reuse ke tahap yg dasat. "OK. Saya dah cukup terseksa dgn teknik copy, paste, modify ini. Sudah tiba masanya utk saya cuba teknik lain plak. Let's try oop plak."


Bersambung...

Comments: Post a Comment

This page is powered by Blogger. Isn't yours?