Home > Test Driven Development > Evident Data

Evident Data

Bagaimana membuat maksud dari data yg ditampilkan jelas? Nah berarti ada dua jenis data. Yaitu data masukan dan keluaran. Jadi buatlah relasi antara kedua data tersebut jelas. Bagaimana prosesnya perubahan data tersebut. Karena kita menulis test bukan hanya untuk komputer. tetapi juga untuk orang lain yg akan menggunakan kelas tersebut. jadi dia bisa belajar dari test tersebut bagaimana behaviour dari suatu kelas atau fungsi.

Contohnya kita akan mengubah satu mata uang ke yg lain. dan kita mengambil 1,5 percent komisi. Exchange rate dari USD ke GBP adalah 2:1. Yg kita tukarkan adalah $100. kita akan mendapat 50GBp – 1.5% = 49.25 GBP. KIta dapat menterjemahkannya menjadi test seperti berikut.

Bank bank= new Bank(). 
bank.addRate("USD", "GBP", STANDARD_RATE);
bank.commission(STANDARD_COMMISSION);
Money result= bank.convert(new Note(100, "USD"), "GBP");
Assert.AreEquals(new Note(49.25, "GBP"), result);

tapi di test tersebut ga jelas giman relasi antar datanya. darimanakah gerangan datangnnya 49.25 ??? programmer lain mungkin saja kebingugan. apa sih maksud programmer yg dulu nih … bikin kesal saja .. huff

jadi lebih baik kita ubah ke bentuk yg lebih jelas seperti ini …

Bank bank= new Bank(); 
bank.addRate("USD", "GBP", 2);
bank.commission(0.015);
Money result= bank.convert(new Note(100, "USD"), "GBP");
Assert.AreEquals(new Note(100 / 2 * (1 - 0.015), "GBP"), result);

nah dengan demikian jelas maksudnya dan programmingnya pun jadi lebih jelas. jadi membantu diri kita sendiri dalam mengkoding dan membantu orang lain yg akan menggunakan code tersebut. sama sama untunglah ….

Advertisement
  1. No comments yet.
  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: