Menu

ממיר אותיות רישיות וקטנות

להמיר טקסט בין camelCase, snake_case, kebab-case ועוד.

מאת Nethanel Bar, Co-founder & CEO

עודכן לאחרונה

מוכנים ללמוד תכנות באמת?

ב-Coddy לומדים דרך כתיבת קוד אמיתי בדפדפן: שיעורים אינטראקטיביים, משוב מיידי ועזרה מ-AI כשנתקעים.

מה זה ממיר רישיות (case converter)?

ממיר רישיות לוקח ביטוי או מזהה וכותב אותו מחדש בכל סגנון שמות נפוץ: camelCase, PascalCase, snake_case, kebab-case, CONSTANT_CASE, Title Case, Sentence case ועוד. מפתחים משתמשים בו כל הזמן: בשינוי שמות משתנים, ביצירת שמות עמודות במסד נתונים, בכתיבת שמות שדות ב-API שתואמים למדריך סגנון, ובהפיכת טקסט שהמשתמש הזין ל-slug לכתובת URL.

אקוסיסטמות שונות מעדיפות סגנונות שונים. JavaScript ו-Java אוהבות camelCase; Python ו-Ruby אוהבות snake_case; מחלקות CSS וכתובות URL משתמשות ב-kebab-case; משתני סביבה וקבועים משתמשים ב-CONSTANT_CASE. ממיר רישיות מאפשר להפוך ביטוי לסגנון הנכון בלי לעשות את זה תו אחר תו בראש.

החלק הקשה הוא לא הכתיבה מחדש, אלא *הפירוק לטוקנים*. ממיר רישיות צריך קודם לפצל קלט מעורב כמו XMLHttpRequest, iOSDevice או read_HTML5Tags למילים הנכונות, ורק אז לחבר אותן מחדש בסגנון שנבחר. מפרקים חכמים מטפלים בראשי תיבות (XML, iOS) ובספרות בחן.

מה תלמדו תוך כדי המרת רישיות

  • לכל קהילת שפה יש סגנון מועדף. התאימו את עצמכם למוסכמה של בסיס הקוד שבו אתם כותבים.
  • פירוק לטוקנים מפצל קלט מעורב לפי אותיות גדולות, מפרידים (_ - .) וגבולות של ספרות לפני החיבור מחדש.
  • ראשי תיבות הופכים המרת רישיות לדו-משמעית: האם XMLParser צריך לחזור כ-xmlParser או כ-xMLParser? בחרו את המוסכמה שבסיס הקוד שלכם משתמש בה והיו עקביים.
  • slug לכתובת URL צריך kebab-case באותיות קטנות, הסרת סימנים מאותיות (café → cafe) וקבוצת תווים מוגבלת (אותיות, ספרות, מקפים).

איך להמיר רישיות של טקסט צעד אחר צעד

  1. הדביקו את הטקסט

    הכניסו ביטוי בודד, מזהה או רשימה שלמה. קלט מעורב, camelCase, snake_case, רווחים, זה בסדר.

  2. קראו את כל הגרסאות בבת אחת

    הממיר מציג את הקלט כתוב מחדש ביותר מ-10 סגנונות. בחרו את זה שבסיס הקוד שלכם משתמש בו.

  3. כווננו מקרי קצה

    שנו את הטיפול בראשי תיבות, בספרות ובתווים מיוחדים אם למדריך הסגנון שלכם יש כללים מסוימים.

  4. לחצו כדי להעתיק

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

מדריך מהיר לסגנונות שמות

איך אותו ביטוי נראה במוסכמות השמות הנפוצות ביותר.

סגנוןדוגמהאיפה משתמשים בו
camelCaseuserNameמשתנים ב-JavaScript, מתודות ב-Java
PascalCaseUserNameשמות מחלקות ברוב השפות, קומפוננטות React
snake_caseuser_namePython, Ruby, עמודות במסד נתונים
SCREAMING_SNAKE_CASEUSER_NAMEקבועים, משתני סביבה
kebab-caseuser-nameכתובות URL, מחלקות CSS, דגלים ב-shell
Title CaseUser Nameכותרות, תוויות
Sentence caseUser nameטקסט בממשק, פרוזה
Train-CaseUser-Nameכותרות HTTP (X-Request-Id)
dot.caseuser.nameמפתחות הגדרות, הגדרות עם מרחבי שמות
flatcaseusernameשמות דומיין, slugs של חבילות

דוגמאות להמרת רישיות לנסות

המרת ביטוי

קלט

user profile photo

גרסאות

camelCase: userProfilePhoto · PascalCase: UserProfilePhoto · snake_case: user_profile_photo · kebab-case: user-profile-photo · CONSTANT_CASE: USER_PROFILE_PHOTO

אותן מילים, חמישה סגנונות. בחרו את זה שמתאים לקובץ שאתם עורכים.

המרת משתנה JS ל-Python

JavaScript
const accessTokenExpiresAt = ...;
Python
access_token_expires_at = ...

רוב הצוותים שומרים שם קנוני אחד במודל הדומיין ומתרגמים אותו בגבול בין שפות או בין שכבות API.

הפיכת כותרת ל-slug לכתובת URL

כותרת

10 Best Practices for REST APIs

Slug

10-best-practices-for-rest-apis

slugs הם kebab-case + אותיות קטנות + תווים בטוחים בלבד. הם משמשים גם כמקטעי URL וגם כשמות מחלקות CSS.

טעויות נפוצות בהמרת רישיות

  • לערבב סגנונות באותו קובץ או באותה שכבה (userName, user_name באותו מודול). בחרו סגנון ואכפו אותו עם linter.
  • לכתוב ראשי תיבות ברישיות לא עקביות (XmlParser לעומת XMLParser). החליטו פעם אחת לכל בסיס קוד והיצמדו לזה.
  • לשכוח שמזהים במסד נתונים לפעמים מנורמלים לרישיות אחידה: userName ו-username עשויים להיות אותה עמודה ב-PostgreSQL אבל שונות ב-MySQL.
  • ליצור slug לכתובת URL בלי לנרמל סימנים על אותיות ובלי להסיר סמלים. slugs צריכים להכיל רק אותיות ASCII, ספרות ומקפים.
  • להמיר רישיות ידנית ברשימות ארוכות. ממיר (או שורה אחת של lodash.snakeCase()) מהיר יותר ופחות מועד לטעויות.

שאלות נפוצות על ממיר רישיות

מה זה camelCase?
camelCase כותב באות גדולה את תחילת כל מילה חוץ מהראשונה ומחבר אותן בלי מפרידים (accessTokenExpiresAt). זה הסגנון השולט למשתנים ולמתודות ב-JavaScript וב-Java.
מה זה snake_case?
snake_case כותב כל מילה באותיות קטנות ומחבר אותן בקווים תחתונים (access_token_expires_at). זה הסגנון המקובל ב-Python, ב-Ruby וברוב שמות העמודות במסדי נתונים יחסיים.
מה ההבדל בין PascalCase ל-camelCase?
שניהם כותבים באות גדולה את תחילת כל מילה שאחרי הראשונה. ההבדל הוא באות הראשונה: PascalCase כותב אותה באות גדולה (UserProfile), ו-camelCase לא (userProfile). ברוב האקוסיסטמות PascalCase שמור לשמות מחלקות ולקומפוננטות React.
איך ממירים טקסט ל-slug בטוח ל-URL?
הפכו לאותיות קטנות, החליפו רווחים וקווים תחתונים במקפים, הסירו סימנים מאותיות (é → e), ומחקו תווים שאינם אותיות, ספרות או מקפים. לרוב ממירי הרישיות יש מצב slugify שעושה את כל זה בצעד אחד.
להשתמש ב-camelCase או ב-snake_case בפרויקט שלי?
התאימו לשפה: camelCase ל-JavaScript, Java ו-Swift; snake_case ל-Python, Ruby ו-Rust. בתוך בסיס קוד, העקביות חשובה יותר מהבחירה הספציפית: linter (ESLint, Pylint, Rubocop) ישמור על האכיפה.

למידע נוסף

כלי פיתוח נוספים

איור של שפות התכנות ב-Coddy

ללמוד תכנות עם Coddy

להתחיל