Kod incelemesiProgramlama Eğitimi

Açıklamalar ve düzeltmelerle kod incelemesi

Genellikle 15 dakika içinde hazırRevizyonlar dahilKalite kontrolü
Paketler
Ödeme korumasıAyrıntılar
  • Paket kapsamındaki revizyonlar ücretsizdir.
  • Teslimattan sonraki 3 gün içinde yanıt vermezseniz iş otomatik olarak onaylanır.

Para, ödeme yaptığınızda bloke edilir ve yalnızca işi onayladığınızda aktarılır.

Açıklamalar ve düzeltmelerle kod incelemesi

Örnek sonuç

Standart paket için örnek

Code review: Python order-import script for a small online shop

What the code does

  1. Reads orders.csv from the shop export.
  2. For each order line, finds the product by SKU in stock.xlsx and subtracts the quantity.
  3. Writes the updated stock back and logs totals to import_log.txt.

The structure is clear and functions are well named. Most issues are about input that does not look the way the script expects.

Bugs and weak spots

#LineSeverityIssue
148HighThe same CSV can be imported twice; there is no check for already processed order IDs. This is the most likely cause of negative stock.
272Highint(row["qty"]) crashes on empty or "2.0" values from refunded orders.
395MediumSKU lookup is case-sensitive: "gt-101" and "GT-101" are treated as different products.
4130MediumThe file is opened without encoding="utf-8", so product names with accents break on Windows.
5201LowBare except: hides real errors and makes the log useless.

Corrected fragments

Issue 1: skip orders already imported

processed = load_processed_ids("processed_orders.txt")
for row in reader:
    if row["order_id"] in processed:
        continue
    # ... existing logic ...
    processed.add(row["order_id"])
save_processed_ids("processed_orders.txt", processed)

Why: each order is applied once, even if you run the script on the same file again.

Issue 2: read quantity safely

raw = (row.get("qty") or "").strip()
try:
    qty = int(float(raw))
except ValueError:
    log.warning("Order %s: bad quantity %r, skipped", row["order_id"], raw)
    continue

Why: refunded or partial lines are skipped with a clear note instead of stopping the whole import.

Issue 3: normalise SKUs

sku = row["sku"].strip().upper()

Apply the same .strip().upper() when building the stock dictionary.

Style and readability

  • process() is 90 lines long; split it into read_orders, apply_to_stock, write_report.
  • Replace magic column numbers (row[7]) with header names.

Please test each fix on a copy of your files: we read the code but did not run it.

Client: owner of a tea shop who wrote a 310-line Python script that imports orders from a CSV export into the stock spreadsheet Problem reported: "Sometimes stock goes negative, and the script crashes on some files."

Müşteri ve tüm ayrıntılar kurgusaldır.

Bu hizmet hakkında

Kodunuzu brife yapıştırın ya da ekran görüntüleri ekleyin, dili ve neyin ters gittiğini söyleyin; satır satır inceleyelim. Kodun ne yaptığını sade sözcüklerle açıklar, hataları, zayıf noktaları ve riskli yerleri belirtir, her değişikliğin neden yardımcı olduğunu not ederek düzeltilmiş parçalar öneririz. Kodu okuruz ancak çalıştırmayız; bu yüzden her düzeltmeyi güvenmeden önce kendi projenizde test edin.

Neler dahil

  • Neler alırsınızSipariş sayfasında yazılı bir inceleme: kodun ne yaptığının sade bir özeti, önem sırasına göre sıralanmış sorun listesi, açıklamalı düzeltilmiş kod parçaları (metin olarak) ve stil ile okunabilirlik ipuçları; Premium'da ayrıca bundan sonra neyin öğrenileceğine dair bir çalışma planı. Düzeltmeler çalıştırmadığımız önerilerdir; bu yüzden onları kendiniz test edersiniz.
  • Kod ne yapıyorMantığın sade bir anlatımı
  • Hatalar ve zayıf noktalarKritikten küçüğe sıralı
  • Düzeltilmiş parçalarHer değişiklik için notlu kod, metin olarak
  • Hata mesajlarıHatanızın ne anlama geldiği ve nereden kaynaklandığı
  • Stil ve okunabilirlikAdlandırma, yapı ve tekrarlanan kod
  • Çalışma planıPremium'da: sırayla öğrenilecek konular

Nasıl çalışır

  1. 1
    BrifKodu yapıştırır, sorunu anlatırsınız
  2. 2
    İncelemeKodu okur ve sorunları buluruz
  3. 3
    Teslimatİncelemeyi ve düzeltilmiş parçaları alırsınız
  4. 4
    SorularDüzeltmeleri test eder, paketiniz kapsamında ek sorular sorarsınız

Sizden neler gerekiyor

Metin veya ekran görüntüsü olarak kod, dil ve sürüm, kodun ne yapması gerektiği, neyin ters gittiği ve varsa tam hata mesajı.

Size soracaklarımız:

  • Kod hangi dilde ve hangi sürümde?
  • Kod ne yapmalı?
  • Neyin ters gittiği ve tam hata mesajı nedir?
  • Bu dilde ne kadar deneyiminiz var?
  • En çok neye odaklanmalıyız?

Paketleri karşılaştırın

PaketlerTemel100 satıra kadar$15Standart400 satıra kadar$35PremiumÇalışma planlı, 1.000 satıra kadar$69
Teslim süresi1 gün2 gün3 gün
Revizyonlar123
Kod satırıen fazla 100en fazla 400en fazla 1.000
Düzeltilmiş parçalarEvetEvetEvet
Çalışma planıHayırHayırEvet
Sipariş ver TemelSipariş ver StandartSipariş ver Premium

Ödeme koruması

Sipariş verirken ödersiniz, ancak para yalnızca onaylanan iş için aktarılır.

  • Sabit fiyatPaket fiyatı, ödeme yaptıktan sonra değişmez.
  • Para bloke edilirÖdeme yaptığınızda tutar yalnızca bloke edilir. İşi onayladığınızda hizmete aktarılır.
  • Teslimattan önce kontrolHer sonuç size ulaşmadan önce kalite kontrolünden geçer ve onaylamadan önce sipariş sayfasında görürsünüz.
  • Ücretsiz revizyonlarBrifiniz kapsamında, paketin izin verdiği sayıda değişiklik isteyin.
  • 3 gün sonra onayTeslimattan sonraki 3 gün içinde işi onaylamaz veya değişiklik istemezseniz iş otomatik olarak onaylanır. Teslimattan sonra sipariş sohbetine yazarsanız sipariş bekletilir; yanıt verdikten sonra 3 günlük süreyi yeniden başlatabiliriz ve bunu sohbette bildiririz.
  • Yeniden yapım veya tam iadeSonuç brifinize uymuyorsa ve revizyonlar sorunu çözmediyse ya da iş teslim süresinin iki katından uzun sürerse sipariş sohbetine yazın: işi yeniden yaparız veya ödemenin tamamını iade ederiz.
Nasıl çalışır →

Sorular ve yanıtlar

Kodumu çalıştırıyor veya test ediyor musunuz?

Hayır. Kodu okur ve üzerinde akıl yürütürüz, ancak çalıştırmayız. Önerilen her düzeltmeyi kendi projenizde test edin.

Depomu veya sitemi açabilir misiniz?

Hayır, depolara, sunuculara veya hesaplara erişmeyiz. İlgili kodu brife yapıştırın ya da en fazla 3 ekran görüntüsü ekleyin.

Benim için bütün bir program yazar mısınız?

Hayır. Bu hizmet, elinizdeki kodu inceler, açıklar ve düzeltilmiş parçalar önerir.

Sınavımı veya notlu ödevimi yapar mısınız?

Hayır. Anlamanız için sizin kendi kodunuzu açıklarız. Ayrıca kötü amaçlı yazılım, hile veya lisans ve koruma atlatma konularında da yardımcı olmayız.

Önce parolaları ve anahtarları çıkarmalı mıyım?

Evet. Kodu yapıştırmadan önce parolaları, API anahtarlarını ve kişisel verileri yer tutucularla değiştirin.

Yanıtınızı bulamadınız mı?

Paketler