Mendapatkan hasil yang baik dengan Claude Code
(dzombak.com)- Dalam beberapa bulan terakhir, setelah bereksperimen dengan berbagai agen pemrograman LLM, Claude Code menjadi alat yang paling memuaskan
- Berkat Claude Code, sekitar 12 program dan proyek dapat dibuat dalam waktu singkat, termasuk pekerjaan yang biasanya tidak akan dimulai karena keterbatasan waktu
- Untuk penggunaan yang sukses, kuncinya adalah menulis spesifikasi yang jelas, menyediakan dokumentasi berisi struktur proyek serta cara menjalankan build dan lint, meminta AI melakukan review atas kodenya sendiri, dan menggunakan panduan agen global yang dipersonalisasi
- Kode yang ditulis AI sering kali tidak akurat atau tidak efisien, поэтому semua kode dan test case harus selalu ditinjau langsung, lalu pengujian yang kurang ditambahkan sendiri atau diminta ke AI dan ditinjau ulang
- Panduan agen global yang dibagikan di lampiran mencakup panduan pengembangan terperinci seperti rencana implementasi bertahap, test-driven development, filosofi yang berfokus pada kesederhanaan, kejelasan, dan pragmatisme, standar kualitas, serta proses pemecahan masalah
Pengalaman dan dampak penggunaan Claude Code
- Selama beberapa bulan terakhir, berbagai agen pemrograman LLM telah diuji, dan pengalaman menggunakan Claude Code adalah yang terbaik
- Meski bukan tanpa masalah, lebih dari 12 program dan proyek dapat diselesaikan dalam waktu singkat
- Tanpa Claude Code, hampir mustahil menyelesaikan semua pekerjaan ini dalam periode yang sama
- Banyak di antaranya adalah proyek yang bahkan tidak akan dicoba karena memakan terlalu banyak waktu
Strategi menggunakan Claude Code
- Menulis spesifikasi yang jelas
- Sebelum memulai proyek, kebutuhan dan konteks didokumentasikan dengan jelas lalu diberikan kepada agen
- Ini memperjelas arah dan cakupan penulisan kode
- Mendokumentasikan struktur proyek
- Menyiapkan dokumen yang mencakup cara menjalankan build, lint, dan test
- Dengan begitu agen dapat menavigasi codebase dan bekerja dengan lebih efektif
- Meminta review kode dari agen
- Meminta Claude Code meninjau langsung kode yang dihasilkannya agar dapat menemukan potensi perbaikan atau bug yang tak terduga
- Menggunakan panduan global pribadi
- Menjaga proses pengembangan yang konsisten melalui
~/.claude/CLAUDE.md, yang berisi aturan pribadi seperti pendekatan pemecahan masalah, penerapan TDD, menjaga kesederhanaan dan kejelasan, serta batas jumlah percobaan (3 kali)
- Menjaga proses pengembangan yang konsisten melalui
Memverifikasi kode yang ditulis LLM
- Kode yang dihasilkan AI sering memiliki masalah seperti kesalahan logika, penurunan performa, dan pengujian yang tidak lengkap
- Penulis meninjau semua kode secara manual dan memverifikasi perilakunya
- Menambahkan sendiri test case yang terlewat
- Atau meminta AI menuliskannya lalu meninjau ulang kode dan test tersebut
- Ditekankan bahwa dalam lingkungan profesional, selama nama Anda tercantum di PR, tanggung jawab akhir atas kualitas ada pada diri Anda sendiri
Isi utama panduan agen “global” pribadi
Panduan tersebut dikelola dalam file ~/.claude/CLAUDE.md
-
Filosofi dan prinsip inti
- Progres bertahap: ubah dalam unit kecil, dan selalu pastikan kompilasi serta test lulus
- Pelajari kode yang ada: analisis pola kode dan susun rencana sebelum implementasi
- Pragmatisme diutamakan: pendekatan yang fleksibel sesuai situasi proyek
- Kejelasan diutamakan: kode yang mudah dibaca dan jelas maksudnya, hindari trik yang tidak perlu
-
Definisi kesederhanaan
- Fungsi dan kelas memiliki satu tanggung jawab
- Hindari abstraksi terlalu dini
- Kurangi kompleksitas dan arahkan pada kode yang tidak perlu penjelasan
-
Proses kerja
- 1. Perencanaan dan penetapan tahap:
- Pekerjaan yang kompleks dibagi menjadi 3~5 tahap dan dicatat di
IMPLEMENTATION_PLAN.md - Nyatakan tujuan tiap tahap, kriteria keberhasilan, test case, dan status progres
- Pekerjaan yang kompleks dibagi menjadi 3~5 tahap dan dicatat di
- 2. Alur implementasi:
- pahami → tulis test (merah) → implementasi minimum (hijau) → refactor → commit
- 3. Evaluasi ulang setelah batas 3 percobaan:
- Jika gagal, catat riwayat percobaan, error, dan penyebabnya
- Jelajahi alternatif (2~3 pendekatan)
- Tinjau ulang desain mendasar atau pemecahan masalah
- Coba pola atau fitur lain
- 1. Perencanaan dan penetapan tahap:
-
Standar teknis
- Utamakan composition, gunakan dependency injection
- Gunakan interface, pastikan kemudahan pengujian
- Alur data yang eksplisit
- TDD dianjurkan, menonaktifkan test dilarang
-
Aturan kualitas kode
- Semua commit harus berhasil dikompilasi, lulus test, menyertakan test untuk fitur baru, dan mengikuti gaya kode
- Jalankan formatter dan linter sebelum commit, lakukan self-review terhadap perubahan, dan tulis pesan commit yang menjelaskan "mengapa"
-
Penanganan error
- Gagal lebih cepat dengan pesan yang spesifik
- Berikan konteks yang diperlukan untuk debugging
- Tangani exception di level yang tepat, jangan menyembunyikan exception
-
Kriteria pengambilan keputusan
- 1. Kemudahan pengujian
- 2. Keterbacaan yang tetap mudah dipahami bahkan 6 bulan kemudian
- 3. Konsistensi dengan pola proyek
- 4. Kesederhanaan
- 5. Kemudahan perubahan
-
Integrasi proyek
- Analisis 3 atau lebih fitur serupa
- Gunakan kembali pola dan library yang sudah ada
- Gunakan utilitas test yang sama
- Mengadopsi alat baru harus punya alasan yang kuat
-
Quality gate
- Semua test lulus
- Mematuhi aturan proyek
- Tidak ada peringatan linter
- Pesan commit jelas
- Implementasi sesuai rencana
- TODO mencantumkan nomor issue
-
Panduan pengujian
- Test berfokus pada perilaku, bukan implementasi
- Jika memungkinkan, satu asersi per test
- Nama yang jelas untuk menjelaskan skenario
- Gunakan kembali utilitas test yang sudah ada
- Test harus deterministik
-
Larangan mutlak
- Melewati hook dengan
--no-verify - Menonaktifkan test
- Commit kode yang tidak bisa dikompilasi
- Menebak tanpa verifikasi
- Melewati hook dengan
-
Wajib dilakukan
- Commit bertahap
- Perbarui dokumentasi secara berkelanjutan
- Belajar dari implementasi yang ada
- Evaluasi ulang pendekatan setelah gagal 3 kali
Proyek open source yang dibuat dengan Claude Code
- Reverse proxy yang mengenali HTML/XML (cdzombak/xrp)
- Tema Solarized untuk VS Code (terang/gelap) (cdzombak/dzsolarized-vscode)
- Generator RSS untuk photostream Flickr (cdzombak/flickr-rss)
- Alat metadata untuk library foto Lychee (cdzombak/lychee-meta-tool)
- Pelaporan status screen lock macOS ke MQTT (cdzombak/macos-screenlock-mqtt)
- Pengaturan otomatis judul foto Bird Buddy di Lychee (cdzombak/lychee-birb-title)
- Pengelompokan foto otomatis berbasis LLM lokal (cdzombak/lychee-ai-organizer)
- Otomatisasi instalasi massal software untuk macOS (cdzombak/mac-install)
- Proyek layanan RSS (cdzombak/rss.church)
- Ekspor penuh/selektif foto Flickr dan pelestarian metadata (cdzombak/flickr-exporter)
- Generator galeri HTML statis (cdzombak/gallerygen)
Belum ada komentar.