// 問題1: 在庫チェックなし fun createOrder(customerId: String, items: List<OrderItem>): Order { val order = Order( id = generateOrderId(), customerId = customerId, items = items, total = calculateTotal(items), status = OrderStatus.PENDING ) // 在庫減算を後で⾏う(在庫切れの可能性無視) items.forEach { item -> reduceStock(item.productId, item.quantity) } return saveOrder(order) } // 問題2: 割引計算の論理的制約無視 fun applyDiscount(order: Order, discountRate: Int): Order { // 負の割引率や100%超の割引を許可 val discountAmount = order.total * discountRate / 100 // 結果が負になる可能性を考慮せず return order.copy( total = order.total - discountAmount, appliedDiscount = discountAmount ) } }