Muhammad Ichsan wrote:

> Html sering saya abaikan karena saya
> melihat langsung dampaknya. Mmmm lagian kayaknya jadi time consuming
> banget di spec'ing. Nah bagaimana dengan rjs. Apakah ia worth untuk
> di-spec-kan?

short v: ya

long v: ya tergantung.

TDD                 != BDD
assert_equal        != object.should be(something)
def require_a_field != it 'should require a field'

1. BDD focus ke behaviour.
    Pertanyaan yang seyogyanya terpasang refleks di alam fikir rubyist
    ketika practicing XP ini adalah apa yang seharusnya aplikasi ini
    lakukan? Contoh: Halaman show pada sebuah aplikasi blog sederhana,
    ketika kita klik GET /article/:id disana akan terpampang

       @article.title,
       @article.content,
       @article.comments
       Form untuk submit comment

    maka behaviour2x itulah yang ditest. gak usah mikir dipojok
    sana musti ada h3 apa h1 segala macam, disitu ada tr td apa li gitu.

    it 'should show article detail'

    it 'should show comment'

    it 'should show a form to submit a new comment' do
      render 'articles/show'
      response.should have_tag('form[action=?]',
article_comments_path(@article)) do
        [:name, :email, :website, :message].each do |field|
          with_tag('input[name=?]', %{comment[#{field}]})
        end
        with_tag('input[type=submit]')
      end
    end

    sila modify kalau form ybs adalah ajax (bukan http post)

2. BDD focus ke documentation.
    :-)) sori saya mau ketawa dulu :-))
    Siapa yang biasa kerja di kantor yang tergolong punya nama :-))
    Sebut deh
    berapa puluh juta rupiah yang diminta *cuma* untuk bikin dokumentasi!
    oke, saya sebut, di kwitansi perusahaan anu di dokumentasi proyek anu
    tertulis Rp 60 juta, dokumentasi tsb setebal 500 halaman. ;-) =))
    habis gitu apa coba.... tetap aja hackers the rulez! biar ada tu
    dokumentasi segede kingkong mahal gimana juga kalau SDM kurang, ehm,
    ya percuma. Dikira bug lagi, fix lagi, tambal sulam tambal sulam,
    bahasa sederhana dari derita keluh kesah nangis darah teman-teman
    employee bergaji pas-pasan tu kalo bahasa saya bilang ya
    itulah akibatnya sloppy work, spec'ing/testing dibilang time
    consuming yang dihitung masih dalam range hari ketimbang debugging
    forever, koboi belagak hacker main tembak dor project anu dibilang
    selesai, siap production, padahal buggy, boro-boro dokumentasi :-))
    tau tau deploy (inipun bahasanya terlalu canggih,wong paling sftp apa
    scp trus main restart server di ssh gitu doang kok)
    glek bug lagi bug lagi, sementara koboi udah ngacir.
    Kalau pakai rspec maka sambil menyelam sambil menambang mutiara,
    sambil kita ngetes aplikasi berjalan sesuai harapan, sambil tulisan
    yang buat ngetes itu jadi dokumentasi,
    itulah gunanya kekuatan Ruby DSL (ya ya ya, yang biasa
    makan ruby design pattern kalo bilang apa-apa DSL suck kecuali
    bikinan sendiri, saya maklum).
    Ini ngomong panjang mana kodingnya, refer ke rtfm user stories aja ya
    sama presentasi2x rspec core guys, jadi inget kenangan manis sewaktu
    di Kuala Lumpur demo tentang user stories dan rbehave ketika 2 minggu
    setelah rilis tool tsb.


tapi terlepas dari semua idealisme XP (eXtreme Programming) diatas,
kepada rubyist/tukang koding jualah segala praktek berlaku, maksud saya
taruh kata suatu ketika Anda dan saya menjadi satu team bisa saja di
suatu halaman lain daripada yang lain saya akan bilang, no matter what
saya gak mau spec'ing itu halaman, sebab contoh itu cuma menampilkan
jadi tidak ada behaviour / kelakuan yang perlu dipertanyakan / diyakin-
kan harus pas berperilaku sesuai dengan yang diinginkan pig / product
owner (istilah kalau biasa dengan SCRUM / yg belum biasa gampang tinggal
sebut fuck you aja ke arie :p gw gak pedulikan jg biar baca sendiri aja
biar puas). kemudian penyebab kedua, juga tidak ada technical debt (
istilah barusan saya lagi kurang mood utk menjelaskan kalau ada yg belum
biasa). Tapi intinya ketidakpedulian saya dengan spec'ing suatu view (
baik itu berupa text, html, pdf, ajax, dst) harus beralasan, karena
sebetulnya Anda sih juga bisa bilang gak peduli, lantas saya jadi bisa
bilang juga, ah memang standar indonesia, ehm, karena tidak aneh kalau
syarat-syarat kerjaan yang biasa main internasional ya mintanya juga
selain refleks dengan autotest, rspec, user stories, juga termasuk
selenium, watir. # kabur... lagipula praktek BDD tu cuma satu dari
sekian praktek bagus-bagus yang lain, ah SDM hackerz memang the rulez,
contoh, ada business guys yang sukanya pake visualisasi gambar aja, jadi
gak ada bikin should should apa as e' when e' then o', atau mungkin ada
yg senior biasa pakai use case apa uml dulu..

-- 
http://ariekusumaatmaja.wordpress.com
Labels don't help you make your point. Be descriptive both for
correcting and for reinforcing feedback.


Kirim email ke