Protección de pagoDetalles
- Los cambios dentro del paquete son gratuitos.
- Si no responde en los 3 días siguientes a la entrega, el trabajo se acepta automáticamente.
El dinero queda reservado al pagar y solo se libera cuando usted acepta el trabajo.

Ejemplo de resultado
Revisión de código: script en Python para importar pedidos de una tienda online
Qué hace el código
- Lee
orders.csvexportado de la tienda. - Para cada línea de pedido, busca el producto por SKU en
stock.xlsxy resta la cantidad. - Guarda el stock actualizado y registra los totales en
import_log.txt.
La estructura es clara y las funciones tienen buenos nombres. Casi todos los problemas vienen de datos de entrada que no tienen la forma que el script espera.
Errores y puntos débiles
| # | Línea | Gravedad | Problema |
|---|---|---|---|
| 1 | 48 | Alta | El mismo CSV se puede importar dos veces; no se comprueban los ID de pedido ya procesados. Es la causa más probable del stock negativo. |
| 2 | 72 | Alta | int(row["qty"]) falla con valores vacíos o «2.0» de pedidos reembolsados. |
| 3 | 95 | Media | La búsqueda por SKU distingue mayúsculas: «gt-101» y «GT-101» se tratan como productos distintos. |
| 4 | 130 | Media | El archivo se abre sin encoding="utf-8", así que los nombres con tildes se rompen en Windows. |
| 5 | 201 | Baja | Un except: genérico oculta los errores reales y vuelve inútil el log. |
Fragmentos corregidos
Problema 1: omitir pedidos ya importados
processed = load_processed_ids("processed_orders.txt")
for row in reader:
if row["order_id"] in processed:
continue
# ... lógica existente ...
processed.add(row["order_id"])
save_processed_ids("processed_orders.txt", processed)
Por qué: cada pedido se aplica una sola vez, aunque vuelva a ejecutar el script con el mismo archivo.
Problema 2: leer la cantidad de forma segura
raw = (row.get("qty") or "").strip()
try:
qty = int(float(raw))
except ValueError:
log.warning("Pedido %s: cantidad no válida %r, omitido", row["order_id"], raw)
continue
Por qué: las líneas reembolsadas o parciales se omiten con una nota clara en lugar de detener toda la importación.
Problema 3: normalizar los SKU
sku = row["sku"].strip().upper()
Aplique el mismo .strip().upper() al construir el diccionario de stock.
Estilo y legibilidad
process()tiene 90 líneas; divídala enread_orders,apply_to_stockywrite_report.- Reemplace los números de columna «mágicos» (
row[7]) por los nombres de las cabeceras.
Pruebe cada corrección con una copia de sus archivos: leímos el código, pero no lo ejecutamos.
Cliente: dueña de una tienda de tés que escribió un script en Python de 310 líneas para importar los pedidos desde un CSV exportado a la planilla de stock Problema reportado: «A veces el stock queda en negativo y el script se cae con algunos archivos».
El cliente y todos los datos son ficticios.
Acerca de este servicio
Cuando hereda código de un desarrollador que ya no está, lo primero es entenderlo: qué hace cada parte, qué piezas dependen unas de otras y qué líneas nadie debería tocar sin cuidado. Leemos el código que pega, se lo explicamos con palabras sencillas sección por sección y escribimos comentarios que puede añadir a los archivos. También marcamos código muerto, efectos secundarios ocultos y puntos de riesgo, para que sepa dónde tener cuidado antes de cambiar nada.
Qué incluye
- Qué recibeUn recorrido escrito en la página del pedido: un mapa de las funciones principales y cómo se conectan, explicaciones sencillas, comentarios listos para pegar y una lista de puntos de riesgo con correcciones sugeridas. Premium añade un orden seguro para limpiar el código paso a paso.
- Mapa del códigoFunciones principales y cómo se conectan
- Explicaciones sencillasSección por sección
- Comentarios listosPara pegar en los archivos
- Puntos de riesgoEfectos secundarios, código muerto, números mágicos
- Correcciones sugeridasFragmentos corregidos donde haga falta
Cómo funciona
- 1BriefUsted pega el código y explica su objetivo
- 2LecturaMapeamos y explicamos el código
- 3RecorridoUsted recibe explicaciones y comentarios
Qué necesitamos de usted
El código heredado pegado como texto o en capturas de pantalla, el lenguaje y la versión, para qué se usa el sistema y qué necesita cambiar en él próximamente.
Le preguntaremos:
- ¿En qué lenguaje y versión está el código?
- ¿Qué hace el sistema para su negocio?
- ¿Qué necesita cambiar o añadir próximamente?
- ¿Hay documentación o notas del desarrollador anterior?
Comparar paquetes
| Paquetes | BásicoCódigo de hasta 100 líneas15 US$ | EstándarCódigo de hasta 400 líneas35 US$ | PremiumHasta 1.000 líneas con orden de limpieza69 US$ |
|---|---|---|---|
| Plazo | 1 día | 2 días | 3 días |
| Cambios | 1 | 2 | 3 |
| Líneas de código | hasta 100 | hasta 400 | hasta 1.000 |
| Fragmentos corregidos | Sí | Sí | Sí |
| Orden de limpieza paso a paso | No | No | Sí |
| Hacer pedido Básico | Hacer pedido Estándar | Hacer pedido Premium |
Protección de pago
Usted paga al hacer el pedido, pero el dinero solo se libera por un trabajo aceptado.
- Precio fijoEl precio del paquete no cambia después del pago.
- El dinero queda reservadoAl pagar, el importe solo queda reservado. Pasa a Dleex cuando usted acepta el trabajo.
- Revisado antes de la entregaCada resultado pasa un control de calidad antes de llegar a usted, y lo ve en la página del pedido antes de aceptarlo.
- Cambios gratuitosSolicite cambios dentro de su brief tantas veces como permita el paquete.
- Aceptación a los 3 díasSi en los 3 días siguientes a la entrega no acepta el trabajo ni solicita cambios, se acepta automáticamente. Si escribe en el chat del pedido después de la entrega, el pedido queda en espera; cuando le respondamos, podremos reiniciar el plazo de 3 días y se lo indicaremos en el chat.
- Rehacer el trabajo o reembolso totalSi el resultado no se ajusta a su brief y los cambios no lo resolvieron, o el trabajo tarda más del doble de su plazo, escriba en el chat del pedido: rehacemos el trabajo o le reembolsamos el pago íntegro.
Preguntas y respuestas
¿Ejecutan mi código?
No. Lo leemos con atención y analizamos cómo se comporta, pero no lo ejecutamos, así que pruebe cada corrección sugerida en su propio proyecto.
¿Pueden reescribirlo en un lenguaje moderno?
Este servicio explica y comenta su código y sugiere correcciones. Una reescritura completa es un proyecto de desarrollo aparte.
El código es muy antiguo. ¿Es un problema?
No. PHP antiguo, macros de VBA, ASP clásico y código similar son justo para lo que existe este recorrido.