paint-brush
Code Smell 282 - Муу анхдагч алдаа ба тэдгээрийг хэрхэн засах вэby@mcsee
793 уншилтууд
793 уншилтууд

Code Smell 282 - Муу анхдагч алдаа ба тэдгээрийг хэрхэн засах вэ

by Maximiliano Contieri4m2024/12/02
Read on Terminal Reader

Хэтэрхий урт; Унших

Үл мэдэгдэх хариултыг хүчинтэй биш, зөвшөөрөлгүй гэж үзнэ.
featured image - Code Smell 282 - Муу анхдагч алдаа ба тэдгээрийг хэрхэн засах вэ
Maximiliano Contieri HackerNoon profile picture

Өгөгдмөл нь таныг живүүлэх болно

TL;DR: Үл мэдэгдэх хариултыг хүчинтэй биш, зөвшөөрөлгүй гэж үзнэ.

Асуудал

  • Аюулгүй байдлын эрсдэл
  • Үл мэдэгдэх тохиолдлуудыг үл тоомсорлодог
  • Алдаа буруу тайлбар
  • Хүчинтэй мужуудад өгөгдмөл болгож байна
  • Зөвшөөрөл таарахгүй байна
  • Үйл явдлыг бүртгэж чадсангүй
  • Ашиглалтын боломж

Шийдэл

  1. Мэдэгдэж буй кодуудын хаалттай багцын эсрэг бүх хариултыг баталгаажуулна уу.
  2. Өгөгдмөл (мөн үл мэдэгдэх) нь зөвшөөрөлгүй эсвэл Өгөгдмөлүүдийг устгах .
  3. Шинжилгээнд тохирохгүй эсвэл гэнэтийн тохиолдол бүрийг бүртгээрэй.
  4. Захын хувилбараар туршиж үзээрэй.
  5. Хуучирсан кодуудаас зайлсхийхийн тулд хариулах сангуудыг процессоруудтай тогтмол синхрончлоорой.
  6. Аюулгүй байдалд анхаарлаа хандуулж, үүнийг зүүн тийш шилжүүлэх үйл явц болгоно.
  7. Хөгжиж буй хувилбаруудыг зохицуулах өөрчлөлтийг тэсвэрлэх чадвартай системийг зохион бүтээх.

Контекст

Өнөөдөр компьютерийн аюулгүй байдлын өдөр бөгөөд програмист бүр хариуцлагаа ухамсарлах ёстой.


Гүйлгээг зохицуулахын тулд зээлийн картын процессоруудын хариултын санд тулгуурласан борлуулалтыг зохицуулдаг програмыг төсөөлөөд үз дээ.


Зээлийн картын процессор бүр үлдэгдэл хангалтгүй эсвэл хугацаа нь дууссан карт гэх мэт янз бүрийн нөхцөл байдалд урьдчилан тодорхойлсон хариу кодыг өгдөг.


Процессор татгалзсан гүйлгээнд хариу өгөх шинэ код нэмсэн боловч платформд мэдэгдээгүй үед асуудал эхэлдэг.


Аппликейшн нь шинэ кодыг танихгүй, анхдагч байдлаар үүнийг "олдсонгүй" гэж үзэж, худалдан авалт хийхийг зөвшөөрдөг.


Хэрэглэгчид энэ дутагдлыг анзаарч, түүнийг ашиглан зөвшөөрөлгүй худалдан авалт хийдэг.


Платформын орлого огцом буурч, дампууралд хүргэдэг.

Жишээ код

Буруу

 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 туслахууд маш их алдаа гаргадаг

Зохих зааваргүйгээр

Тодорхой зааварчилгаатай

ChatGPT

ChatGPT

Клод

Клод

Төөрөгдөл

Төөрөгдөл

Туслах нисгэгч

Туслах нисгэгч

Ихэр

Ихэр

Дүгнэлт

Үл мэдэгдэх тохиолдлуудад үргэлж болгоомжтой ханд.


"Одоогүй" гэх мэт анхдагч алдаа нь аюулгүй байдлын ноцтой асуудал, санхүүгийн алдагдалд хүргэж болзошгүй.


Үл мэдэгдэх хариултыг бүртгэх, үгүйсгэхийг өөрийн хөгжлийн туршлагын нэг хэсэг болго.


Програмчлалын явцад аюулгүй байдлын талаар зүүн тийш шилжих шийдвэр гарга.

Харилцаа

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 цувралын нэг хэсэг юм.

Кодын өмхий хэсгүүдийг хэрхэн олох вэ

L O A D I N G
. . . comments & more!

About Author

Maximiliano Contieri HackerNoon profile picture
Maximiliano Contieri@mcsee
I’m a sr software engineer specialized in Clean Code, Design and TDD Book "Clean Code Cookbook" 500+ articles written

TAG ҮҮ

ЭНЭ ӨГҮҮЛЛИЙГ ТОЛГОЙЛУУЛСАН...