Langsung ke konten utama

8 Kebiasaan Buruk Programmer (Yang Harus Dihindari)

Seorang programmer juga manusia biasa :). Berbuat kesalahan adalah suatu kewajaran. Yang membuat tidak wajar jika kesalahan - kesalahan tersebut menjadi kebiasaan. Dalam artikel ini saya akan bawakan beberapa kebiasaan programmer yang harus kita hindari.


1. Copy Paste

Copy-paste adalah salah satu dari 10 penyebab kesalahan yang paling sering terjadi di dunia pemrograman. Kalau anda suka main copy-paste mungkin akan terkejut. Kenapa hal ini bisa terjadi? Ya... ketika kita melakukan copy-paste kode program, seringnya kita lupa untuk menyesuaiakan kode baris hasil copy-paste tadi. Padahal, mungkin saja ada variable, nama form, dll yang perlu disesuaikan.

2. Tidak Menginisialisasi Function

Jangan serahkan inisialisasi return value sebuah function kepada compiler. Ini yang selalu saya tekankan pada setiap kali membuat function. Kenapa demikian? Karena persepsi kita tentang default value sebuah tipe data mungkin berbeda dengan yang dilakukan oleh compiler. Oleh karena itu, dari pada terjadi perbedaan , lebih baik kita beri saja default return value untuk setiap function yang kita buat. Ingat, letakkan inisialisasi return value ini pada baris pertama dari function tersebut. Perhatikan contoh berikut ini :


function TPelanggan.RemoveData: Boolean;
var
  sSQL: string;
begin
  Result := False; // letakkan baris kode ini pada awal function
  
  sSQL := 'Delete from TPelanggan where ID = ' + IntToStr(ID);
  if ExecuteSQL(sSQL) then
    Result := True;
end; 

3. Tidak Mengapit instansiasi suatu kelas dengan try .. finally

Anda sering mengalamai memory leak? Hmm ... mungkin anda termasuk tipe programmer yang sering melakukan kebiasaan buruk nomor tiga ini. Saya mempunyai dua artikel menarik yang membahas memory leak. Silahkan buka di sini dan di sini.

4. Tidak mendokumentasikan source code

Kebiasaan no 4 ini juga bahaya. Sering kita jumpai seorang programmer duduk lama di depan komputernya sambil mengernyitkan dahi. Dia bingung dengan program yang dulu pernah dia tulis. Hal ini sering muncul ketika terjadi bug dan kita kebagian untuk membetulkan bug tersebut. Hal ini bisa terjadi karena tidak ada dokumentasi yang memadai berkaitan dengan alur sebuah program. Oleh karena itu penting bagi kita untuk merapikan dokumentasi program, baik yang di dalam maupun luar source code. Ada ungkapan yang patut kita renungkan yaitu : don't code today what you can't debug tomorrow

5. Tidak menggunakan Versionining Control (VC).

Manfaat yang paling saya rasakan dengan VC adalah untuk back up ource code. Dengan menggunanakan VC secara tidak langsung kita sudah melakukan back up source ke server VC. VC juga sangat bermanfaat untuk bekerja dengan banyak programmer. Dengan adanya VC kita bisa melakukan penggabungan source code dari beberapa programmer dengan mudah. Dengan VC juga kita bisa mengembalikan source code kita ke versi sebelumnya. Dengan VC juga kita bisa men-trace baris kode yang diubah oleh siapa yang menimbulkan error (Gunakan fitur "Blame" pada SVN). Dua VC yang sering saya pakai adalah SVN dan FreeVCS

6. Membuat Method yang panjang
Saya sendiri sebisa mungkin membatasi panjang method hanya 10 baris (begin .. end tidak dihitung). Satu method seharusnya hanya mengeksekusi satu task. Method yang panjang biasanya akan banyak task yang diekekusi pada method tersebut. Hal ini sangat membingungkan ketika proses debugging.

7. Mau kerja kalau ada mood
Seorang programmer haruslah menjadi seorang yang profesional. Siap kapanpun untuk menghadapi tantangan. Jangan sampai karena sedang ada masalah, semua pekerjaan di kantor terganggu.

8. Penamaan variable/method yang tidak standar

Menurut William C. Wake (2004), penamaan variable juga sangat penting untuk menjelaskan bagaimana sistem bekerja.Jadi , ingatlah jangan pernah memberi nama sembarangan.

Di bawah ini merupakan guideline penamaan yang baik untuk digunakan di dalam object oriented software development :

1. Gunakan verb (kata kerja) untuk hal-hal yang berkaitan dengan proses manipulasi atau behaviour objek.

2. Gunakan noun (kata benda) atau adjective(kata sifat) untuk hal-hal yang berkaitan dengan atribute,state,dan entity .

3. Lebih disukai penamaan satu kata.

4. Penamaan memperhatikan unsur komunikatif.

Komentar

  1. Wah....betul tuch bang, kayaknya saya kena semuanya...!!! pantes aja selama ini program yg aku bikin selalu Versi Beta...!!!

    BalasHapus
  2. Mas tlng jlskn cara menggunkn VC itu soalnya sy slma ngoding blm prnh mnggunkn cara trsbt. Thanks

    BalasHapus
  3. Oks. Saya juga berencana akan menulis artikel tentang SVN. Untuk mendapatkan artikel-artikel dari blog ini silahkan mendaftarkan email anda. thx

    BalasHapus
  4. Itu sering terjadi di web programming, tapi kalo di programming dekstop biasanya plannignya sudah terstuktur dan dokumentasinya pun mantap …

    BalasHapus

Posting Komentar

Postingan populer dari blog ini

Cara Efektif Menggunakan StringGrid

StringGrid merupakan salah satu VCL yang sangat berguna. Jika anda sudah familiar dengan Webbased Application, anda bisa analogikan StringGrid dengan Table. Table digunakan untuk meenampilkan data. Adapun StringGrid, selain sebagai komponen untuk menampilkan data, dia juga juga bisa sebagai tempat untuk memasukkan data, lihat gambar di bawah ini : Pada gambar di atas, saya menampilkan form jurnal umum sebagai contoh penggunaan StringGrid. Pada contoh di atas, stringgrid dipakai untuk memasukkan data item jurnal berupa Kode dan nama perkiraan, status Debet/Kredit dan Nominal. Untuk memanfaatkan Stringgrid saya mempunyai beberapa konstanta yang mencerminkan nomor urut kolom, misalnya _KolKode merujuk pada kolom Kode Perkiraan, _KolNama merujuk pada kolom Nama. Lebih jelasnya lihat baris kode berikut : Const _KolKode : Integer = 0; _KolNama : Integer = 1; _KolDK : Integer = 2; _KolNominal : Integer = 3; Konstanta-konstanta tersebut saya pakai di beberapa tempat. Diantaran...

Tanda-tanda programmer buruk

Dalam dunia pekerjaan, ada berbagai cara untuk menjadi tidak efektif. Berikut adalah beberapa perilaku yang sering terjadi pada beberapa programmer yang pernah saya kerjakan selama bertahun-tahun: "Saya Seorang Insinyur Perangkat Lunak, Bukan Programmer"  Anda tahu seperti apa mereka. Mereka membawa keyboard mekanis ke kantor? Mereka tidak bisa ikut dalam pertemuan harian karena terlalu sibuk memikirkan masalah tersebut (hanya butuh 5 menit untuk menyampaikan apa yang Anda pikirkan). Berapa lama waktu yang dibutuhkan untuk mendapatkan latte? Saya tidak begitu yakin bagaimana seseorang bisa menjadi begitu sombong dengan pengalaman 3 tahun, tapi begitulah adanya. Saya suka mengesankan orang dengan gelar pekerjaan saya. Siapa? Apa maksud Anda, tidak ada yang peduli. Mungkin sebaiknya Anda menghabiskan lebih banyak waktu untuk bekerja dan sedikit waktu untuk memikirkan status Anda? Papan Tulis di Belakang  Beberapa orang di industri ini memiliki gelar. Saya pernah bekerja deng...

Singleton Pattern

Motivasi Kadang ada keadaan di mana kita hanya boleh memiliki satu instan dari suatu kelas. Sebagai contoh, kita hanya boleh memiliki satu window manager (atau satu sistem file atau satu spooler printer) pada satu aplikasi. Biasanya singleton digunakan untuk managemen sumber daya internal maupun eksternal secara terpusat dan bisa diakses dimanapun. Singleton merupkan salah satu design pattern yang paling sederhana. Singleton hanya melibatkan satu kelas yang bertanggung jawab untuk menginstansiasi dirinya sendiri dan pada saat yang bersamaan menyediakan akses secara global terhadap instan tersebut. Pada pattern singleton, instan bisa diakses dari manapun tanpa harus memanggil contructor dari kelas instan tersebut Tujuan • Memastikan bahwa satu kelas hanya bisa dibuat instannya sekali. • Menyediakan akses secara global terhadap instan singleton tersebut. Implementasi Pada bahasa pemrograman Java, implementasi dari singleton adalah dengan membuat sebuah atribut static pada...