Quy tắc con rắn (tiếng Anh: snake case, còn được viết cách điệu là snake_case) là một cách viết các từ hoặc cụm từ ghép trong đó các thành phần được phân tách bằng ký tự gạch dưới (_) và không có khoảng trắng, với chữ cái đầu tiên của mỗi thành phần được viết thường còn chữ đầu tiên của cụm từ có thể viết thường hoặc viết in như trong "foo_bar" hay "Hello_world". Quy tắc này thường được sử dụng trong mã máy tính để đặt tên biến, tên hàm và đôi khi cả tên tập tin trên máy tính.[1]
Đã có ít nhất một nghiên cứu cho thấy người đọc có thể nhận biết cụm từ viết bằng quy tắc con rắn nhanh hơn Quy tắc lạc đà.[2]
Việc sử dụng dấu gạch dưới làm dấu tách từ trong các định danh trong ngôn ngữ lập trình đã có từ khá lâu, khoảng cuối những năm 1960. Trường hợp nổi tiếng nhất là ngôn ngữ C, được ghi trong cuốn Ngôn ngữ lập trình C (1978), trái ngược với Quy tắc Pascal (một loại quy tắc lạc đà). Tuy nhiên khi đó quy tắc này chưa có tên gọi cụ thể: tài liệu hướng dẫn trình bày của Python chỉ đơn giản gọi nó là "chữ_thường_có_gạch_nối_dưới" (lower_case_with_underscores).[3]
Trong Usenet, tên gọi "snake_case" lần đầu tiên được thấy khi Gavin Kistner dùng nó trong cộng đồng Ruby vào năm 2004:[4]
Ngoài ra...các bạn *gọi* quy tắc đặt tên này là gì? snake_case? Tôi sẽ dùng chữ này nếu không có ai nói tôi sai.
Tuy nhiên, một cựu kỹ sư của Intel, Jack Dahlgren, đã nói[5] trên Quora rằng ông đã sử dụng thuật ngữ này trong nội bộ Intel (và có lẽ trong các cuộc đối thoại với kỹ sư Microsoft) vào năm 2002. Có lẽ thuật ngữ này đã được tạo ra một cách độc lập trong các cộng đồng lập trình viên.