FastAPI מחזיר JSON. המשתמש שולח form data. הDatabase מחזיר text. כמעט כל שורת קוד Backend שתכתבו נוגעת בstring בצורה כלשהי. ועדיין, strings ב-Python הן אחד הנושאים שמתחילים מדלגים עליהם - ואז מבלים שעות בdebug על בעיות שלא היו צריכות לקרות.
באגי strings קלאסיים שתופסים בproduction
whitespace, format inconsistency, encoding mismatch - שלושה תרחישים שראיתי הופלים שירותים אמיתיים.
שלוש דוגמאות אמיתיות לבאגים שראיתי:
- API מחזיר
" alice@gmail.com "עם whitespace. Code שעושהemail == "alice@gmail.com"תמיד מחזירFalse. הפתרון:email.strip(). - Frontend שולח תאריך כ-
"2024-01-15". Backend מנסה לפצל עם.split("-"). עובד. רק שלפעמים ה-frontend שולח"2024/01/15"עם slash. Code קורס. - File שנשמר ב-Windows encoding, נפתח ב-Linux עם UTF-8. תווים מוזרים בכל מקום.
כל הבאגים האלה נמנעים אם מבינים strings לעומק.