ขึ้นอยู่กับว่าอินพุตนั้นมาจากผู้ใช้โดยตรงผ่าน UI บางอย่างหรือมาจากระบบ
ป้อนข้อมูลผ่าน UI
มันเป็นคำถามประสบการณ์ของผู้ใช้วิธีจัดการกับอินพุตที่ไม่ถูกต้อง ฉันไม่ทราบเกี่ยวกับกรณีเฉพาะของคุณ แต่โดยทั่วไปมีตัวเลือกไม่กี่:
- แจ้งเตือนผู้ใช้ถึงข้อผิดพลาดและให้ผู้ใช้แก้ไขก่อนดำเนินการต่อ (พบมากที่สุด)
- แปลงเป็นช่วงที่ถูกต้องโดยอัตโนมัติ (ถ้าเป็นไปได้) แต่แจ้งเตือนผู้ใช้ถึงการเปลี่ยนแปลงและอนุญาตให้ผู้ใช้ยืนยันก่อนดำเนินการต่อ
- แปลงเป็นช่วงที่ถูกต้องและดำเนินการต่อไป
ตัวเลือกขึ้นอยู่กับความคาดหวังของผู้ใช้ของคุณและความสำคัญของข้อมูล ตัวอย่างเช่น Google แก้ไขการสะกดคำในแบบสอบถามโดยอัตโนมัติ แต่มีความเสี่ยงต่ำเนื่องจากการเปลี่ยนแปลงที่ไม่ช่วยเหลือนั้นไม่ใช่ปัญหาและง่ายต่อการแก้ไข ในทางตรงกันข้ามถ้าคุณกำลังป้อนพิกัดสำหรับขีปนาวุธนิวเคลียร์คุณอาจต้องการการตรวจสอบอินพุตที่เข้มงวดมากขึ้นและไม่มีการแก้ไขข้อมูลที่ไม่ถูกต้องแบบเงียบ ดังนั้นจึงไม่มีคำตอบสากล
ที่สำคัญที่สุดคุณควรพิจารณาว่าการแก้ไขอินพุตยังมีประโยชน์ต่อผู้ใช้หรือไม่ ทำไมผู้ใช้ถึงป้อนข้อมูลที่ไม่ถูกต้อง มันง่ายที่จะเห็นว่าบางคนอาจมีข้อผิดพลาดในการสะกดคำ แต่ทำไมทุกคนถึงป้อนลองจิจูด -185 หากผู้ใช้หมายถึง +175 จริงๆพวกเขาอาจจะพิมพ์ +175 ฉันคิดว่าเป็นไปได้ว่าลองจิจูดที่ไม่ถูกต้องนั้นเป็นข้อผิดพลาดในการพิมพ์และผู้ใช้หมายถึง -85 หรืออย่างอื่น ในกรณีนี้อย่างเงียบ ๆ ในการแปลงที่ไม่ดีและไม่ช่วยเหลือ แนวทางที่เป็นมิตรกับผู้ใช้มากที่สุดสำหรับแอปของคุณอาจเป็นการเตือนผู้ใช้ถึงค่าที่ไม่ถูกต้องและให้ผู้ใช้แก้ไขด้วยตนเอง
ป้อนข้อมูลผ่าน API
หากอินพุตมาจากระบบอื่นหรือระบบย่อยไม่มีคำถาม คุณควรโยนข้อยกเว้น คุณไม่ควรเงียบแปลงสัญญาณเข้าที่ไม่ถูกต้องจากระบบอื่นเพราะมันอาจปกปิดข้อผิดพลาดที่อื่นในระบบ หากอินพุตถูก "แก้ไข" มันควรจะเกิดขึ้นในเลเยอร์ UI ไม่ลึกเข้าไปในระบบ