Өгөгдмөл нь таныг живүүлэх болно
TL;DR: Үл мэдэгдэх хариултыг хүчинтэй биш, зөвшөөрөлгүй гэж үзнэ.
Асуудал
- Аюулгүй байдлын эрсдэл
- Үл мэдэгдэх тохиолдлуудыг үл тоомсорлодог
- Алдаа буруу тайлбар
- Хүчинтэй мужуудад өгөгдмөл болгож байна
- Зөвшөөрөл таарахгүй байна
- Үйл явдлыг бүртгэж чадсангүй
- Ашиглалтын боломж
Шийдэл
- Мэдэгдэж буй кодуудын хаалттай багцын эсрэг бүх хариултыг баталгаажуулна уу.
- Өгөгдмөл (мөн үл мэдэгдэх) нь зөвшөөрөлгүй эсвэл Өгөгдмөлүүдийг устгах .
- Шинжилгээнд тохирохгүй эсвэл гэнэтийн тохиолдол бүрийг бүртгээрэй.
- Захын хувилбараар туршиж үзээрэй.
- Хуучирсан кодуудаас зайлсхийхийн тулд хариулах сангуудыг процессоруудтай тогтмол синхрончлоорой.
- Аюулгүй байдалд анхаарлаа хандуулж, үүнийг зүүн тийш шилжүүлэх үйл явц болгоно.
- Хөгжиж буй хувилбаруудыг зохицуулах өөрчлөлтийг тэсвэрлэх чадвартай системийг зохион бүтээх.
Контекст
Өнөөдөр компьютерийн аюулгүй байдлын өдөр бөгөөд програмист бүр хариуцлагаа ухамсарлах ёстой.
Гүйлгээг зохицуулахын тулд зээлийн картын процессоруудын хариултын санд тулгуурласан борлуулалтыг зохицуулдаг програмыг төсөөлөөд үз дээ.
Зээлийн картын процессор бүр үлдэгдэл хангалтгүй эсвэл хугацаа нь дууссан карт гэх мэт янз бүрийн нөхцөл байдалд урьдчилан тодорхойлсон хариу кодыг өгдөг.
Процессор татгалзсан гүйлгээнд хариу өгөх шинэ код нэмсэн боловч платформд мэдэгдээгүй үед асуудал эхэлдэг.
Аппликейшн нь шинэ кодыг танихгүй, анхдагч байдлаар үүнийг "олдсонгүй" гэж үзэж, худалдан авалт хийхийг зөвшөөрдөг.
Хэрэглэгчид энэ дутагдлыг анзаарч, түүнийг ашиглан зөвшөөрөлгүй худалдан авалт хийдэг.
Платформын орлого огцом буурч, дампууралд хүргэдэг.
Жишээ код
Буруу
String response = paymentProcessor.authorize(cardDetails); switch (response) { case "DECLINED_INSUFFICIENT_FUNDS": // Handle insufficient funds break; case "DECLINED_EXPIRED_CARD": // Handle expired card break; default: // Authorize purchase break; }
Зөв
String response = paymentProcessor.authorize(cardDetails); switch (response) { case "APPROVED": // Authorize purchase break; case "DECLINED_INSUFFICIENT_FUNDS": // Handle insufficient funds break; case "DECLINED_EXPIRED_CARD": // Handle expired card break; case "DECLINED_NEW_REASON": // Handle new declined reason break; default: // Reject purchase (default case for unknown responses) break; }
Илрүүлэх
- [x] гарын авлага
Та алдаатай ажиллах логикийг хянаж үзээд энэ үнэрийг илрүүлж чадна.
Систем нь танигдаагүй тохиолдлуудыг бүртгэж, үгүйсгэж байгаа эсэхийг шалгана уу.
Автоматжуулсан туршилтууд нь шинэ эсвэл гэнэтийн оролт нь хүчинтэй үйлдлүүдийг өгөгдмөл болгож байгааг тодорхойлоход тусална.
Статик шинжилгээний хэрэгслүүд нь бүрэн бус байж болзошгүй алдааг зохицуулахад тусалж чадна.
Шошго
- Аюулгүй байдал
Түвшин
- [x] Дунд зэрэг
Биежинг яагаад чухал вэ?
Төлбөрийн процессорын хариу үйлдэл болон процессороос буцаасан бодит кодуудын хооронд таны аппликешны дотоод дүрслэл хооронд нэг нэгээр нь захидал харилцааг хадгалах нь чухал юм.
Та Bijection -ийг эвдэх үед та тохирохгүй байдал үүсгэдэг.
Аппликешн нь үл мэдэгдэх кодыг буруу тайлбарлаж, гэнэтийн үйлдэл, аюулгүй байдлын цоорхой, бизнесийн сүйрлийн үр дагаварт хүргэдэг.
AI үеийнхэн
Хэрэв та үл мэдэгдэх тохиолдлуудыг хэрхэн зохицуулахыг заагаагүй бол хиймэл оюун ухааны хэрэгслүүд энэ үнэрийг үүсгэж болно.
Жишээлбэл, ерөнхий алдаатай харьцах нь "олдсонгүй" эсвэл "амжилт" гэх мэт үр дагаварт хүргэж болзошгүй.
AI илрүүлэх
AI генераторууд үл мэдэгдэх тохиолдлуудыг зөвшөөрөлгүй гэж үзэж, гэнэтийн тохиолдлыг бүртгэх, туршихыг зааж өгөхөд энэ үнэрийг засах боломжтой.
Тэднийг туршаад үзээрэй!
Санаж байна уу: AI туслахууд маш их алдаа гаргадаг
Зохих зааваргүйгээр | Тодорхой зааварчилгаатай |
---|---|
Дүгнэлт
Үл мэдэгдэх тохиолдлуудад үргэлж болгоомжтой ханд.
"Одоогүй" гэх мэт анхдагч алдаа нь аюулгүй байдлын ноцтой асуудал, санхүүгийн алдагдалд хүргэж болзошгүй.
Үл мэдэгдэх хариултыг бүртгэх, үгүйсгэхийг өөрийн хөгжлийн туршлагын нэг хэсэг болго.
Програмчлалын явцад аюулгүй байдлын талаар зүүн тийш шилжих шийдвэр гарга.
Харилцаа
https://hackernoon.com/how-to-find-the-stinky-parts-of-your-code-part-xxii
https://hackernoon.com/how-to-find-the-stinky-parts-of-your-code-part-viii-8mn3352
Татгалзах
Кодын үнэр бол миний бодол юм.
Зээл
Unsplash дээрх Натана Ребучасын гэрэл зураг
https://www.youtube.com/watch?v=J2QOejhA6ek
Таамаглал бол бүх бүтэлгүйтлийн эх юм.
гэж Оуиссал хэлэв
Програм хангамжийн инженерийн гайхалтай эшлэлүүд
Энэ нийтлэл нь CodeSmell цувралын нэг хэсэг юм.