Home > Uncategorized > Kenapa sih gak buat code yg mudah dibaca…

Kenapa sih gak buat code yg mudah dibaca…

Kok males banget yg buat method yg readable atau nama variable yg intention nya jelas. Bahkan ada juga programmer yg membuat nama nama variable nya l ato i …. Itu kesalahan yg amat fatal. Menyebabkan cost pada pembangunan software tersebut melonjak.

Code tersebut sebenarnya haruslah dibuat semudah mungkin untuk dimengerti. Dan tidak perlu ada banyak comment di body method. Kalau kita masih berpikir bahwa pada line tersebut perlu ada comment. Kenapa tidak di refactor to method aja.

Dan kebanyakan body method dari code tidak memiliki level abstraksi yg sama. Nyampur semua dengan hal hal yg berbau implementation detail.

Ujung2 nya maintanancenya yg repot. Banyak kebingungan dimana2 sehingga orang terpaksa harus membuat code baru lagi dari scratch. Nambahin biaya kan?

Jadi mulai skarang buatlah nama method yg readable dan jelas intention dari pemberian nama tersebut. Supaya programmer lain yg menemukan code tersebut dapat mudah mengubah atau memodifikasinya.

Categories: Uncategorized
  1. ryzam
    August 7, 2009 at 7:51 am

    Say suka menggunakan konsep message, walaupun didalam domain.

    Sebagai contoh Customer boleh requst License sama ada dengan specifify parent License atau pun sendirian

    Dan jika di tulis didalam code

    public class Customer
    {
    public void RequestLicense(IndividualLicense args)
    {
    //
    }

    public void RequestLicense(WithRelationToParentLicense args)
    {
    }

    }

    IndividualLicense dan WithRelationToParentLicense adalah message yang perlu disampaikan kepada object

  2. weltam
    August 8, 2009 at 7:19 am

    nice … konsep itu juga sudah saya tanyakan dengan jonathan oliver.

    mengenai hal tersebut ada dibahas pada komentar saya pada postingan http://jonathan-oliver.blogspot.com/2009/03/event-sourcing-in-dddd-world.html

  3. ryzam
    August 8, 2009 at 11:21 am

    Saya juga sekarang bnyk memperkayakan domain dengan domainservice dan domainevent. Artikel dari Udi
    http://www.udidahan.com/2009/06/14/domain-events-salvation/ begitu bnyk mempengaruhi cara saya coding

  4. ryzam
    August 10, 2009 at 6:06 pm

    Hi

    Pertanyaan, adakah anda agree Message boleh menjadi sebagai maklumat untuk Command dan Message juga boleh menjadi maklumat untuk Event?

    • weltam
      August 11, 2009 at 5:52 am

      Hi too,

      ya.. command dan event tersebut merupakan message. dan merupakan value object.

      Event merupakan hasil dari processing terhadap Command.
      Jadi tipsnya adalah jika pada hasil pemrosesan tersebut terdapat data2 tambahan yg perlu disimpan maka kita menambahkannya juga di event.

      Sehingga kita dapat langsung meng-extends Event dari Command yg bersesuaian dengannya..

  5. ryzam
    August 17, 2009 at 8:59 am

    Bagaimana ya bisa dibuat software yang mempunyai 2 datasource (write/read). Menggunakan konsep CQS maka apabila insert akan di persist ke pada kedua2 datasource atau datasource read akan di bina menggunakan backend replication etc

    • weltam
      August 17, 2009 at 11:09 am

      hal tersebut dapat dilakukan dengan messaging. data yg terdapat pada database query merupakan denormalizer version dari domain model. hal tersebut dikarenakan kebutuhan untuk reporting berbeda dengan kebutuhan untuk domain model.

      ketika terjadi operasi write (command) maka event yg dihasilkan akan di kirim ke query service. dan akan di denormalized di sana. pattern yg diterapkan di sini adalah anti corruption layer dari DDD.

      http://www.udidahan.com/2008/08/11/command-query-separation-and-soa/

  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 )

Google+ photo

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

Connecting to %s

%d bloggers like this: