Code well your coding so it does’nt need comments

Standard

CodeBaru baru ini aku dapat proyek, dimana dalam proyek ini aku harus mendokumentasikan, atau bahasa gaulnya memberi comment disetiap fungsi, method, class, bahkan algoritma. Jujur aja sih agak agak malas gitu. Kayaknya jadi harus kerja dua kali.

Emang sih dalam kerja tim, dokumentasi sangat membantu. Tapi juga harus memperhatikan waktu kita yang sangat berharga.. Mau apa, kerja lembur tiap hari? emang hidup untuk kerja?

Dalam dunia coding jaman dahulu, terstruktur, dan belum mengenal object, folder dimana mana,  satu module tersebar di folder yang berbeda beda. Comment mutlak dibutuhkan, bukan untuk dirinya sendiri, tapi untuk programmer lain yang melanjutkan atau merubah kode anda.

But now, we have to leave that kind of code..

Aku emang bukan programmer senior atau profesional, tapi kalo aku bilang koding kita sebaiknya kayak gini nih:

Modular

Satu process kerja sebaiknya terkumpul dalam satu file atau folder, tidak tersebar di berbagai file atau folder, gunakan post back jika memungkinkan. Sehingga kita (atau programmer lain) gampang merunutnya, kemana dan gimana flow program.

Kalau misalnya pakai framework, dengan gampang kita bisa membedakan satu process kerja dengan lainnya dalam satu controller.

Clear and structured directories

Masukkan class dalam satu dedicated directory, fungsi dalam satu directory, models di models, views di views, controller di contoler. Tapi juga jangan kebanyakan folder. Bingung nyarinya…

Clear variable and function or class name

Buat agar nama variabel merepresentasikan kegunaannya misalnya order_status jangan hanya status. Untuk fungsi misalnya process_xml_products_feed() jangan cuma process()

Menurut Codeigniter, penamaan juga sebaiknya menggunakan underscore sebagai spasi. Tidak menggunakan bahasa ABG: processXmlProductsFeed(). Biar lebih jelas..

Pretty code

Agak susah mendeskripsikan yang satu ini. Intinya jangan kebanyakan unnecessary code. Rekursif jika bisa rekursif, pakai foreach instead of for. Gunakan switch untuk condition yang banyak. Dan hal hal kecil lainnya. Dengan gitu aku yakin pgrogrammer lain akan cepat mengerti. Termasuk disini juga algoritma yang ga bertele tele. Seneng kan kalo nemuin algoritma yang bagus?

Believe me, with code like that, ga perlu comment lagi di setiap kodenya. Paling cuma di class, method dan fungsi. Input nya apa dan return valuenya apa..

Apa lagi ya? mungkin kalo kepikiran, aku tambah lagi…

atau ada yang mau nambahin? atau mungkin mau koreksi programmer newbie ini?

Quoting wordpress tagline:

Code is poetry

19 thoughts on “Code well your coding so it does’nt need comments

  1. Menurut Codeigniter, penamaan juga sebaiknya menggunakan underscore sebagai spasi. Tidak menggunakan bahasa ABG: processXmlProductsFeed(). Biar lebih jelas..

    penulisan fungsi seperti processXmlProductsFeed() itu bukan bahasa ABG ndra :D, penulisan kayak itu tu namanya penulisan CamelCase, coba deh lihat penulisan jquery, extjs, kalau php cakePhp
    http://en.wikipedia.org/wiki/CamelCase

    • hehe iya sih.. seneng aja bilangnya, kan kayak abg kalo sms
      aku ga tau kalo jquery, cakephp menyarankan camelcase
      tergantung selera aja deh, mana yang elbih enak

      • Artikel yang menarik, betul kata narko, setiap bahasa pemrograman punya aturan tertentu, di Flex atau Java, CamelCase malah hukumnya wajib dalam penamaan Class, method atau variable, sedangkan di cakePHP, ruby dan Phyton, CameCase bukan penulisanya yang baik, seharusnya snake_case.

        Saya Ingin Menambahkan Saja tentang “Clear variable and function or class name”, beberapa hal yang gak ditulisakan:

        1. Method yang berkaitan dengan tampilan atau URL di controller sebaiknya sesuai dengan yang method url, contoh method Creat, Read, Updatem Destroy, dan sebagainya, tapi method yang gak berkaitan dengan url atau view, sebaiknya diprotek atau private.

        2. Method adalah melakukan sesuatu atau menciptakan sesuatu, jadi awali nama method menggunakan kata kerja contoh diatas dah bener.

        3. Penamaan variable harus sesuai kebutuhan dan menggunakan kata benda atau sifat. contoh is_processed, is_created, is_loaded, first_name, new_user, dsb.

        4. Suatu code atau formula atau rumus yang dipakai oleh lebih dari 1 fungsi atau method sebaiknya dibuat method /fungsi baru.

        5. Hindari lebih banyak rekursive atau looping, it is bad choice for agile application. ;), terutama di client side, atau penggemar Ajax, it is predator your browser memory dan di server side, it is predator your server memory. so becareful.

        PS: Nice Article, ndra

        • rekursif dan looping tidak harus dihindari, malah rekursif dianjurkan untuk algoritma tertentu agar coding lebih fleksible. hanya lakukan dengan hati2, kalo ga memory leak

  2. Kayaknya saya gak bisa nambahin atau memberi koreksi, saya juga gak terlalu paham soal programming. secara umum memang cukup begitu aja tanpa harus ada comment tentang codenya. namun saya kira pemberian comment pada code seperti itu pasti ada manfaat dibaliknya, buat saya sendiri yang tidak terlalu memahami struktur programming sangat terbantu dengan comment pada codenya. Just My Opinion

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>