Menu

Chuyển đổi kiểu chữ

Chuyển văn bản giữa camelCase, snake_case, kebab-case và nhiều kiểu khác.

Tác giả Nethanel Bar, Co-founder & CEO

Cập nhật lần cuối

Sẵn sàng học code thật sự?

Coddy dạy bạn bằng cách viết code thật ngay trên trình duyệt: bài học tương tác, phản hồi tức thì và AI hỗ trợ khi bạn bị kẹt.

Công cụ chuyển đổi kiểu chữ là gì?

Công cụ chuyển đổi kiểu chữ nhận một cụm từ hoặc định danh và viết lại nó theo mọi kiểu đặt tên phổ biến: camelCase, PascalCase, snake_case, kebab-case, CONSTANT_CASE, Title Case, Sentence case và nhiều kiểu khác. Lập trình viên dùng nó liên tục: đổi tên biến khi refactor, tạo tên cột cơ sở dữ liệu, đặt tên trường API khớp với quy ước, và biến văn bản người dùng nhập thành slug cho URL.

Mỗi hệ sinh thái chuộng một kiểu riêng. JavaScript và Java thích camelCase; Python và Ruby thích snake_case; class CSS và URL dùng kebab-case; biến môi trường và hằng số dùng CONSTANT_CASE. Công cụ chuyển đổi giúp bạn đổi cụm từ sang đúng kiểu mà không phải nhẩm từng ký tự trong đầu.

Phần khó không nằm ở việc viết lại, mà ở việc *tách từ*. Công cụ phải tách đầu vào lẫn lộn như XMLHttpRequest, iOSDevice hay read_HTML5Tags thành đúng các từ trước, rồi mới ghép lại theo kiểu đã chọn. Bộ tách từ thông minh xử lý tốt cả từ viết tắt (XML, iOS) lẫn chữ số.

Bạn học được gì khi chuyển đổi kiểu chữ

  • Mỗi cộng đồng ngôn ngữ lập trình có kiểu ưa thích riêng. Hãy theo quy ước của codebase bạn đang viết.
  • Bước tách từ chia đầu vào lẫn lộn theo chữ hoa, dấu phân cách (_ - .) và ranh giới chữ số trước khi ghép lại.
  • Từ viết tắt khiến việc chuyển đổi trở nên mơ hồ: XMLParser nên thành xmlParser hay xMLParser? Chọn quy ước codebase của bạn đang dùng và giữ nhất quán.
  • Slug URL cần kebab-case chữ thường, bỏ dấu (café → cafe) và chỉ dùng tập ký tự giới hạn (chữ cái, chữ số, dấu gạch nối).

Cách chuyển đổi kiểu chữ từng bước

  1. Dán văn bản

    Thả vào một cụm từ, một định danh hoặc cả một danh sách. Đầu vào lẫn lộn camelCase, snake_case hay dấu cách đều được.

  2. Xem mọi biến thể cùng lúc

    Công cụ hiển thị đầu vào được viết lại theo hơn 10 kiểu. Chọn kiểu mà codebase của bạn dùng.

  3. Tinh chỉnh trường hợp đặc biệt

    Bật hoặc tắt cách xử lý từ viết tắt, chữ số và ký tự đặc biệt nếu quy ước của bạn có quy tắc riêng.

  4. Nhấn để sao chép

    Nhấn vào biến thể bất kỳ để sao chép vào clipboard. Rất tiện khi refactor qua nhiều tệp hoặc điền đặc tả OpenAPI.

Tra cứu nhanh các kiểu đặt tên

Cùng một cụm từ trông thế nào ở các quy ước đặt tên phổ biến nhất.

KiểuVí dụDùng ở đâu
camelCaseuserNameBiến JavaScript, phương thức Java
PascalCaseUserNameTên lớp trong hầu hết ngôn ngữ, component React
snake_caseuser_namePython, Ruby, cột cơ sở dữ liệu
SCREAMING_SNAKE_CASEUSER_NAMEHằng số, biến môi trường
kebab-caseuser-nameURL, class CSS, cờ lệnh shell
Title CaseUser NameTiêu đề, nhãn
Sentence caseUser nameVăn bản giao diện, đoạn văn
Train-CaseUser-NameHeader HTTP (X-Request-Id)
dot.caseuser.nameKhóa cấu hình, thiết lập theo namespace
flatcaseusernameTên miền, slug của package

Ví dụ chuyển đổi kiểu chữ để thử

Chuyển đổi một cụm từ

Đầu vào

user profile photo

Biến thể

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

Cùng các từ, năm kiểu viết. Chọn kiểu khớp với tệp bạn đang sửa.

Đổi một biến JS sang Python

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

Phần lớn các nhóm giữ một tên chuẩn trong mô hình dữ liệu và chuyển đổi nó ở ranh giới giữa các ngôn ngữ hoặc giữa các tầng API.

Tạo slug URL từ tiêu đề

Tiêu đề

10 Best Practices for REST APIs

Slug

10-best-practices-for-rest-apis

Slug là kebab-case, chữ thường và chỉ có ký tự an toàn. Chúng dùng được cả làm đoạn URL lẫn tên class CSS.

Lỗi thường gặp khi chuyển đổi kiểu chữ

  • Trộn nhiều kiểu trong cùng một tệp hoặc một tầng (userName, user_name trong cùng module). Chọn một kiểu và dùng linter để bắt buộc tuân theo.
  • Viết hoa từ viết tắt không nhất quán (XmlParser và XMLParser). Quyết định một lần cho cả codebase và giữ nguyên.
  • Quên rằng định danh trong cơ sở dữ liệu đôi khi bị chuyển hết về một kiểu chữ: userName và username có thể là cùng một cột trên PostgreSQL nhưng là hai cột khác nhau trên MySQL.
  • Tạo slug URL mà không chuẩn hóa dấu và loại bỏ ký hiệu. Slug chỉ nên gồm chữ cái ASCII, chữ số và dấu gạch nối.
  • Đổi kiểu chữ thủ công cho danh sách dài. Một công cụ chuyển đổi (hoặc một dòng lodash.snakeCase()) nhanh hơn và ít lỗi hơn.

Câu hỏi thường gặp về chuyển đổi kiểu chữ

camelCase là gì?
camelCase viết hoa chữ cái đầu của mọi từ trừ từ đầu tiên và ghép chúng lại không có dấu phân cách (accessTokenExpiresAt). Đây là kiểu phổ biến nhất cho biến và phương thức trong JavaScript và Java.
snake_case là gì?
snake_case viết thường mọi từ và nối chúng bằng dấu gạch dưới (access_token_expires_at). Đây là kiểu chuẩn trong Python, Ruby và phần lớn tên cột của cơ sở dữ liệu quan hệ.
PascalCase và camelCase khác nhau thế nào?
Cả hai đều viết hoa chữ cái đầu của các từ phía sau. Khác biệt nằm ở chữ cái đầu tiên: PascalCase viết hoa nó (UserProfile), camelCase thì không (userProfile). Trong hầu hết hệ sinh thái, PascalCase dành cho tên lớp và component React.
Làm sao để chuyển văn bản thành slug an toàn cho URL?
Chuyển về chữ thường, thay dấu cách và dấu gạch dưới bằng dấu gạch nối, bỏ dấu (é → e) và xóa các ký tự không phải chữ cái, chữ số hoặc dấu gạch nối. Phần lớn công cụ chuyển đổi có chế độ slugify làm tất cả trong một bước.
Dự án của tôi nên dùng camelCase hay snake_case?

Theo ngôn ngữ lập trình: camelCase cho JavaScript, Java, Swift; snake_case cho Python, Ruby, Rust. Trong một codebase, sự nhất quán quan trọng hơn lựa chọn cụ thể: một linter (ESLint, Pylint, Rubocop) sẽ giữ cho quy ước được tuân thủ.

Tìm hiểu thêm

Công cụ lập trình khác

Hình minh họa các ngôn ngữ lập trình của Coddy

Học lập trình cùng Coddy

Bắt đầu