Slide 19
Slide 19 text
© 2025 Loglass Inc.
AI駆動開発の課題
// AIが⽣成しがちな問題のあるコード例
class OrderService {
// 問題1: 在庫チェックなし
fun createOrder(customerId: String, items: List): 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
)
}
}