Perlindungan pembayaranSelengkapnya
- Revisi dalam batas paket tidak dikenai biaya.
- Jika Anda tidak merespons dalam 3 hari setelah penyerahan hasil, hasil kerja diterima secara otomatis.
Uang ditahan saat Anda membayar dan diteruskan hanya setelah Anda menerima hasil kerja.

Contoh hasil
Code review: skrip Python impor pesanan untuk toko online kecil
Apa yang dilakukan kode
- Membaca
orders.csvdari ekspor toko. - Untuk tiap baris pesanan, mencari produk berdasarkan SKU di
stock.xlsxlalu mengurangi jumlahnya. - Menulis stok yang diperbarui dan mencatat total ke
import_log.txt.
Strukturnya jelas dan nama fungsinya baik. Sebagian besar masalah muncul karena input tidak sesuai dengan yang diharapkan skrip.
Bug dan titik lemah
| # | Baris | Tingkat | Masalah |
|---|---|---|---|
| 1 | 48 | Tinggi | CSV yang sama bisa diimpor dua kali; tidak ada pengecekan ID pesanan yang sudah diproses. Ini penyebab paling mungkin stok minus. |
| 2 | 72 | Tinggi | int(row["qty"]) crash pada nilai kosong atau "2.0" dari pesanan refund. |
| 3 | 95 | Sedang | Pencarian SKU peka huruf besar-kecil: "gt-101" dan "GT-101" dianggap produk berbeda. |
| 4 | 130 | Sedang | File dibuka tanpa encoding="utf-8", sehingga nama produk dengan karakter khusus rusak di Windows. |
| 5 | 201 | Rendah | except: kosong menyembunyikan error asli dan membuat log tidak berguna. |
Potongan kode yang diperbaiki
Masalah 1: lewati pesanan yang sudah diimpor
processed = load_processed_ids("processed_orders.txt")
for row in reader:
if row["order_id"] in processed:
continue
# ... logika yang sudah ada ...
processed.add(row["order_id"])
save_processed_ids("processed_orders.txt", processed)
Alasan: setiap pesanan hanya diterapkan sekali, meski skrip dijalankan ulang pada file yang sama.
Masalah 2: baca jumlah dengan aman
raw = (row.get("qty") or "").strip()
try:
qty = int(float(raw))
except ValueError:
log.warning("Pesanan %s: jumlah tidak valid %r, dilewati", row["order_id"], raw)
continue
Alasan: baris refund atau sebagian dilewati dengan catatan jelas, bukan menghentikan seluruh impor.
Masalah 3: seragamkan SKU
sku = row["sku"].strip().upper()
Terapkan .strip().upper() yang sama saat membangun kamus stok.
Gaya dan keterbacaan
process()panjangnya 90 baris; pecah menjadiread_orders,apply_to_stock,write_report.- Ganti nomor kolom "ajaib" (
row[7]) dengan nama header.
Silakan uji setiap perbaikan pada salinan file Anda: kami membaca kodenya, tetapi tidak menjalankannya.
Klien: pemilik toko teh online yang menulis skrip Python 310 baris untuk mengimpor pesanan dari ekspor CSV ke spreadsheet stok Masalah yang dilaporkan: "Kadang stok jadi minus, dan skripnya crash di beberapa file."
Klien dan semua datanya fiktif.
Tentang layanan ini
TypeScript hanya melindungi Anda jika tipe-tipenya menggambarkan apa yang benar-benar dilakukan kode, dan banyak proyek perlahan dipenuhi any, type assertion yang tidak diperiksa, serta field opsional yang sebenarnya tidak pernah opsional. Kami membaca kode dan definisi tipe Anda, menjelaskan error compiler yang membuat Anda buntu, dan menunjukkan di mana narrowing, union type, atau generic kecil bisa menggantikan cast. Potongan kode yang diperbaiki memperhitungkan strict mode, sehingga perbaikannya tetap bertahan saat compiler dibuat lebih ketat.
Yang termasuk
- Yang Anda dapatkanReview tertulis di halaman pesanan: error compiler dijelaskan, tipe yang lemah diurutkan berdasarkan risiko, dan potongan kode yang diperbaiki dengan definisi tipe yang lebih baik. Paket Premium menambahkan rencana untuk mengaktifkan opsi compiler yang lebih ketat langkah demi langkah.
- Error compiler diuraikanPesan panjang dalam kata-kata sederhana
- Lebih sedikit any dan castTipe yang lebih aman sebagai gantinya
- Narrowing dan unionBiarkan compiler memeriksa setiap cabang
- Interface dan genericDefinisi tipe yang dapat dipakai ulang dan mudah dibaca
- Potongan kode yang diperbaikiDengan catatan untuk setiap perubahan
Cara kerja
- 1BriefAnda menempelkan kode, tipe, dan error
- 2MembacaKami mencocokkan tipe dengan perilaku sebenarnya
- 3TinjauanAnda menerima penjelasan dan tipe yang lebih baik
Yang kami butuhkan dari Anda
Kode dan tipe TypeScript yang ditempel sebagai teks atau tangkapan layar, pengaturan tsconfig Anda, versi TypeScript, dan error compiler persisnya.
Kami akan menanyakan:
- Versi TypeScript dan framework apa?
- Apakah strict mode aktif?
- Error compiler atau masalah tipe apa yang menghambat Anda?
- Apakah Anda sedang memindahkan proyek JavaScript ke TypeScript?
Bandingkan paket
| Paket | DasarKode hingga 100 barisRp 255.000 | StandarKode hingga 400 barisRp 595.000 | PremiumHingga 1.000 baris dengan rencana pengetatanRp 1.173.000 |
|---|---|---|---|
| Tenggat | 1 hari | 2 hari | 3 hari |
| Revisi | 1 | 2 | 3 |
| Baris kode | hingga 100 | hingga 400 | hingga 1.000 |
| Potongan kode yang diperbaiki | Ya | Ya | Ya |
| Rencana pengetatan | Tidak | Tidak | Ya |
| Pesan Dasar | Pesan Standar | Pesan Premium |
Perlindungan pembayaran
Anda membayar saat memesan, tetapi uangnya diteruskan hanya untuk hasil kerja yang diterima.
- Harga pastiHarga paket tidak berubah setelah Anda membayar.
- Uang ditahanSaat Anda membayar, jumlahnya hanya ditahan. Dana diteruskan ke Dleex setelah Anda menerima hasil kerja.
- Diperiksa sebelum penyerahanSetiap hasil melewati pemeriksaan kualitas sebelum sampai kepada Anda, dan Anda dapat melihatnya di halaman pesanan sebelum menerimanya.
- Revisi gratisMinta revisi sesuai brief Anda sebanyak yang diizinkan paket.
- Diterima setelah 3 hariJika dalam 3 hari setelah penyerahan hasil Anda tidak menerima hasil kerja maupun meminta revisi, hasil kerja diterima secara otomatis. Jika Anda menulis di chat pesanan setelah penyerahan hasil, pesanan akan menunggu; setelah kami menjawab, kami dapat memulai ulang hitungan 3 hari dan akan memberitahukannya di chat.
- Dikerjakan ulang atau pengembalian dana penuhJika hasilnya tidak sesuai brief Anda dan revisi tidak memperbaikinya, atau pengerjaan memakan waktu lebih dari dua kali tenggatnya, tulis di chat pesanan: kami akan mengerjakan ulang atau mengembalikan pembayaran secara penuh.
Tanya jawab
Apakah Anda menjalankan kode saya?
Tidak. Kami membacanya dengan cermat dan menganalisis perilakunya, tetapi tidak menjalankannya, jadi uji setiap perbaikan yang disarankan di proyek Anda sendiri.
Bisakah Anda cukup memberi tahu cara membungkam error-nya?
Bisa, tetapi kami terlebih dahulu menunjukkan dari apa error itu melindungi Anda, dan menawarkan perbaikan bertipe jika ada.
Apakah Anda membantu migrasi dari JavaScript?
Ya. Tempelkan file yang sedang Anda konversi, dan kami menyarankan tipenya serta urutan konversinya.