Saturday, December 5, 2009

Error Message Yang Lebih Baik pada Rubinius

Pesan yang ditampilkan saat terjadi syntax errors merupakan bagian kehidupan dari programmer saat membangun sebuah aplikasi. Jika hal tersebut sulit disampaikan kepada programmer, seberapapun tinggi kemampuan programmer tersebut, maka akan membutuhkan waktu yang lama dalam melakukan debugging.

Evan Phoenix, yang merupakan pencipta Rubinius, menjelaskan bahwa parser MRI yang merupakan intepreter default untuk Ruby memiliki message yang cukup sulit untuk dimengerti. Salah satunya adalah ketika lupa menulis 'end' dalam sebuah method atau class, maka akan muncul pesan unexpected $end, expecting kEND

Berikut ini adalah contoh yang dapat memunculkan pesan error diatas:

class Human
def say
if current_user
puts "hello"
end
end

Mungkin contoh diatas mudah diperbaiki, namun jika dalam membangun sebuah program yang memiliki baris kode lebih dari seribu dan sangat kompleks, tentu error tersebut lebih sulit ditemukan. Pada Rubinius, pesan tersebut diubah sehingga akan membuat programmer lebih mudah dalam melakukan debugging.
Pada pesan
syntax error, unexpected $end, expecting kEND

diubah menjadi seperti dibawah ini pada contoh kasus diatas
missing ‘end’ for ‘class’ started on line 1.

Pesan error tersebut menjelaskan bahwa elemen 'end' dibutuhkan pada 'class' pada baris pertama. Walaupun masih jauh dari sempurna, namun setidaknya error message tersebut lebih jelas dibandingkan MRI.



No comments:

Post a Comment

© Railsmine