Back to Blogbest practices

5 Kesalahan Umum Developer Pemula dan Cara Menghindarinya

Metro New Technology
January 12, 2024
3 min read
tipspemulacodingbest-practices
5 Kesalahan Umum Developer Pemula dan Cara Menghindarinya

5 Kesalahan Umum Developer Pemula dan Cara Menghindarinya

Setiap developer pasti pernah membuat kesalahan saat belajar. Yang penting adalah belajar dari kesalahan tersebut. Berikut 5 kesalahan paling umum dan cara menghindarinya.

1. Copy-Paste Tanpa Memahami

❌ Yang Salah

// Copy dari StackOverflow tanpa tahu artinya
const result = arr.reduce((a, b) => ({...a, [b.id]: b}), {});

✅ Yang Benar

Luangkan waktu untuk memahami setiap baris kode:

// Mengubah array menjadi object dengan id sebagai key
const users = [
  { id: 1, name: "Andi" },
  { id: 2, name: "Budi" }
];

const userById = users.reduce((accumulator, user) => {
  // Spread operator menggabungkan object sebelumnya
  // Lalu tambahkan property baru dengan key = user.id
  return {
    ...accumulator,
    [user.id]: user
  };
}, {}); // {} adalah initial value

// Hasil: { 1: { id: 1, name: "Andi" }, 2: { id: 2, name: "Budi" } }

Tips: Jika tidak paham, jangan dipakai. Cari penjelasannya atau tulis dengan cara yang Anda pahami.

2. Tidak Menggunakan Version Control

❌ Yang Salah

my-project/
├── app_v1.js
├── app_v2.js
├── app_final.js
├── app_final_fix.js
└── app_beneran_final.js  😅

✅ Yang Benar

Gunakan Git dari hari pertama:

git init
git add .
git commit -m "Initial commit"

# Setiap perubahan penting
git commit -m "Add user authentication feature"

Workflow Sederhana

  1. Buat branch untuk setiap fitur
  2. Commit secara teratur dengan message yang jelas
  3. Merge ketika fitur selesai

3. Tidak Menulis Komentar (atau Terlalu Banyak)

❌ Terlalu Sedikit

function f(a, b) {
  return a.filter(x => b.includes(x.id));
}

❌ Terlalu Banyak

// Fungsi untuk filter
// Parameter a adalah array pertama
// Parameter b adalah array kedua
// Kita akan filter a
// Menggunakan method filter()
function filterArrayById(firstArray, secondArray) {
  // Panggil method filter pada array pertama
  return firstArray.filter(item => {
    // Cek apakah id item ada di array kedua
    return secondArray.includes(item.id);
  }); // Return hasil filter
}

✅ Yang Benar

/**
 * Filter items yang ID-nya ada di allowedIds
 */
function filterByAllowedIds(items, allowedIds) {
  return items.filter(item => allowedIds.includes(item.id));
}

4. Premature Optimization

❌ Yang Salah

Mengoptimasi sebelum ada masalah:

// "Mungkin nanti slow kalau datanya banyak"
const cache = new Map();
const memoizedFunction = (input) => {
  if (!cache.has(input)) {
    cache.set(input, heavyComputation(input));
  }
  return cache.get(input);
};

✅ Yang Benar

  1. Buat yang berfungsi dulu
  2. Ukur performanya
  3. Optimasi jika memang perlu
// Versi simple dulu
function processData(input) {
  return heavyComputation(input);
}

// Nanti kalau memang slow, baru optimasi

"Premature optimization is the root of all evil" - Donald Knuth

5. Tutorial Hell

❌ Yang Salah

  • Menonton tutorial tanpa praktek
  • Mengikuti tutorial tanpa modifikasi
  • Pindah ke tutorial baru sebelum selesai

✅ Yang Benar

Metode 70-20-10:

  • 70% Buat project sendiri
  • 20% Belajar dari tutorial
  • 10% Baca dokumentasi dan artikel

Action Steps

  1. Setelah tutorial, buat versi Anda sendiri dengan modifikasi
  2. Catat pertanyaan yang muncul saat coding
  3. Selesaikan project sebelum pindah ke yang baru

Kesimpulan

| Kesalahan | Solusi | |-----------|--------| | Copy-paste tanpa paham | Pahami dulu, baru implementasi | | Tidak pakai Git | Gunakan Git dari hari pertama | | Komentar tidak tepat | Tulis komentar yang menjelaskan "kenapa" | | Premature optimization | Buat berfungsi dulu, optimasi kemudian | | Tutorial hell | 70% praktek, buat project sendiri |

Ingat, semua developer pernah pemula. Yang penting adalah terus belajar dan improve setiap hari.

Happy coding! 💪

Share this article

Iklan