ממיר סוגי אותיות: המרת CamelCase, Snake_case ופורמטים נוספים

מתן שמות למשתנים הוא אחד משני הדברים הקשים ביותר בתכנות (מיד אחרי ביטול מטמון). וכשאתה כבר ממציא שם, אתה צריך לכתוב אותו נכון. לכל שפת תכנות יש חוקים שונים.

ה-Case Converter שלנו הוא אולר שוויצרי לעיצוב טקסט. פשוט הקלד את השם פעם אחת (בכל פורמט) ואנחנו “נתרגם” אותו באופן מיידי לתחביר של כל שפות התכנות העיקריות.

סקירה מהירה: מתי להשתמש באיזה Case?

אם אתם מבולבלים, הנה דף עזר (Naming Conventions) לשנת 2025:

🐪 camelCase (סימון גמל)

מתחיל באות קטנה וכל מילה נוספת מתחילה באות גדולה. ללא רווחים.

  • היכן משתמשים: JavaScript, Java, Swift, Kotlin, Go.
  • דוגמאות: myVariableName, getElementById, iPhone.

🐍 snake_case (סימון נחש)

כל האותיות קטנות ומופרדות בקו תחתון.

  • היכן משתמשים: Python, Rust, PHP, מסדי נתונים SQL, שמות קבצים.
  • דוגמאות: user_id, first_name, def my_function().

🍢 kebab-case (סימון שיפוד)

אותיות קטנות מופרדות במקף. נראה כמו בשר על שיפוד.

  • היכן משתמשים: מחלקות CSS, תכונות HTML, כתובות URL (סלאגים), Kubernetes.
  • דוגמאות: font-size, my-cool-article, <div id="main-content">.

📐 PascalCase (UpperCamelCase)

בדומה ל-camelCase, אך האות הראשונה גדולה.

  • היכן משתמשים: שמות מחלקות (Classes) ברוב השפות (JS, Python, PHP), C# (גם מתודות וגם משתנים), רכיבי React.
  • דוגמאות: UserProfile, AppController, ReactComponent.

📢 CONSTANT_CASE (Screaming Snake Case)

אותיות גדולות מופרדות בקו תחתון. “צועק” עליך שאסור לשנות ערך זה.

  • היכן משתמשים: קבועים, משתני סביבה (ENV), הגדרות גלובליות.
  • דוגמאות: MAX_RETRIES, API_KEY, DB_PASSWORD.

איך עובד הממיר שלנו?

הכלי שלנו “חכם”. זה אומר שהוא לא מנסה רק להחליף רווחים באופן עיוור.

  1. זיהוי מילים: האלגוריתם מזהה מילים, בין אם הן מופרדות ברווחים ahoj svete, קווים תחתונים ahoj_svete, מקפים ahoj-svete או מעבר אותיות גדולות ahojSvete.
  2. נורמליזציה: הכל מומר לצורה בסיסית.
  3. יצירה: כל הווריאציות מורכבות בבת אחת.

זה שימושי, למשל, בעת רפקטורינג קוד, כאשר אתה צריך להמיר משתני PHP ישנים ($user_id) ל-JavaScript מודרני (userId) או ליצור מחלקת CSS (user-id) משם עמודת מסד נתונים.

שאלות נפוצות:

מה זה "Hungarian notation"? זוהי שיטת כתיבה ישנה יותר (נפוצה ב-C/C++ בשנות ה-90), שבה שם המשתנה מתחיל בקיצור של סוג הנתונים. לדוגמה, strName (מחרוזת) או iCount (מספר שלם). כיום היא אינה בשימוש נרחב בשפות מודרניות, מכיוון ש-IDE מציגים לנו את הסוגים באופן אוטומטי.
האם אוכל להשתמש ב-kebab-case ב-JavaScript? לא ישירות כשם משתנה, מכיוון שהמקף - פועל ב-JS כאופרטור חיסור. var my-variable יתפרש כ-"my פחות variable". kebab-case משמש ב-JS רק כמפתחות באובייקטים, אם הם נמצאים במרכאות: { "content-type": "json" }.
באיזה case להשתמש עבור JSON? תקן JSON אינו קובע case, אך Google ורוב ממשקי ה-REST API משתמשים ב-camelCase (לדוגמה, createdAt). לעומת זאת, חלק מממשקי API ישנים יותר ובקאנדים של Python מחזירים snake_case (לדוגמה, created_at). חשוב להיות עקביים.