blog.1.image
Programming
October 31, 2022

6 Prinsip Dasar Wajib Pemrograman

Programming adalah seni. Ketika kita coding sembarangan dengan tujuan hanya asal jadi, siap-siap saja suatu saat nanti kita akan kesulitan sendiri karena codingan kita yang sembarangan dan sulit direfactor karena tidak memperhatikan prinsip-prinsip dasar yang sangat penting. Tentunya kita tidak mau dong hasil coding kita malah membuat programmer lain atau bahkan diri kita sendiri jadi pusing? Kalau begitu setidaknya perhatikan prinsip-prinsip dasar pemrograman ini yuk : 

 

1. KISS (Keep it Simple, Stupid!)

Ini adalah prinsip dasar yang cukup abstrak. Kita diharapkan memastikan coding kita sesederhana mungkin. Kalau ada 5 baris yang bisa disingkat jadi 1 atau 2 baris tentunya lebih berguna. Atau kalau ada logic yang terlalu sulit dapat dipecah menjadi beberapa bagian. Bayangkan ketika kita melihat 1 section yang berisi logic panjang hingga 500 baris. Untuk memahami maksudnya saja kita akan kesulitan bukan? 

 

2. DRY (Dont Repeat Yourself)

Copy dan Paste memang fitur yang sangat membantu, tapi tidak selalu membantu dalam coding. Contoh sederhananya adalah kita membuat beberapa baris code untuk melakukan validasi user, dan ternyata kondisi ini dibutuhkan di beberapa atau banyak halaman lainnya. 

Jangan terpancing untuk sekedar copy paste (karena tentunya lebih mudah), tapi cobalah memikirkan cara lain agar kita tidak perlu mengulang-ulang sekian baris kode yang sama di beberapa tempat. Kemungkinan terburuknya adalah ketika kita butuh mengubah sesuatu di logic yang bersangkutan, kita harus mengubahnya di SELURUH halaman. 

 

3. YAGNI (You Aren't Gonna Need It)

Ketika kita membuat sebuah fitur, kadang-kadang kita seperti mendapat ilham pandangan ke depan. "Wah fitur ini kalau ditambahkan A,B,C ini nantinya akan kepakai di modul lain kok". Prinsip YAGNI ini mengingatkan bahwa kita tidak perlu berpikir demikan untuk menghindari membuat fitur yang terlalu kompleks dan ujung-ujungnya malah tidak digunakan. Jika kita sedang fokus dalam scope tertentu, berusahalah untuk fokus di scope tersebut sehingga kita tidak membuat terlalu banyak logic yang ujungnya tidak terpakai.

 

4. Documentation & Self Documentation 

Apabila kita coding bersama dengan tim, jangan lupa untuk membuat dokumentasi pada suatu function. Sebenarnya dokumentasi itu tidak selalu dibutuhkan apalagi jika kita sudah membuat nama function yang jelas. Hal ini biasanya disebut self documenting. Contoh : 

// this function will calculating the sum of A and B 
function calc(x int, y int) {
	return x + y;
}

function getSumOfNumeric(x int, y int) {
	return x + y;
}

contoh yang pertama adalah dokumentasi yang normal. Umumnya masih bisa dipakai jika memang banyak yang harus dijelaskan, akan tetapi contoh yang kedua merupakan contoh self documenting, tanpa perlu membuat dokumentasi/comment pun dari namanya saja sudah sangat menjelaskan apa yang dikerjakan. Kalau kita malas membuat dokumentasi, setidaknya berusahalah membuat nama function atau nama variabel yang self documenting, alias sudah jelas tanpa perlu dijelaskan.

 

5. SoC (Separation of Concerns)

Prinsip ini mengajak kita developer untuk membagi tugas besar dalam beberapa container yang independen. Model paling umum yang sering kita kenal adalah MVC (Model View Controller). Seluruh hal yang berkaitan dengan tampilan akan ditaruh di view, seluruh hal yang berkaitan dengan data akan ditaruh di model, dan seluruh hal yang berkaitan dengan kontrol data akan ditaruh di controller. 

Apabila kita mengingat prinsip SoC ini, maka seharusnya kita tahu bahwa sebaiknya kita tidak menaruh logic tambahan di view (yang seharusnya di controller), atau menaruh query data di controller (yang seharusnya di model), dsb. 

Dengan demikian, prinsip ini akan membantu kita tidak kesulitan saat melakukan trace ketika sesuatu terjadi. Jika masalahnya di data, maka sudah pasti issuenya ada di model, jika masalah di tampilan sudah pasti issuenya di view. Kalau kita masih sering mencampuraduk? Selamat, kita harus memeriksa secara keseluruhan untuk menemukan akar permasalahannya.

 

6. PINO (Performance is Number One!)

Serapi apapun coding yang kita buat, sejelas apapun dokumentasi yang kita buat, jika malah performancenya lambat sih percuma. Banyak hal yang biasanya merusak performance aplikasi yang kita kerjakan. Salah satunya adalah issue N+1 (memanggil/menyimpan ke database didalam looping), select data keseluruhan tanpa memilih field yang dibutuhkan, kurang memanfaatkan layer caching, cyclomatic complexity terlalu tinggi, dan semacamnya.

Terus belajar mencari cara untuk memastikan proses apapun dapat berjalan dengan cepat. Keren sekali kalau kita bisa coding dengan rapi + high performance..

 

 

6 Prinsip diatas merupakan prinsip paling dasar yang harus selalu kita ingat saat coding. Tentunya masing-masing bahasa pemrograman punya hal-hal spesifik lainnya, akan tetapi prinsip dasar ini sepertinya selalu berlaku entah bahasa apapun yang kita gunakan. Happy coding!

Share this article:

New Updates are available

Oops, your internet is disconnected. Please check your signal
Icon