24 converter หน่วย · สกุลเงิน · ไฟล์

แปลงข้อความเป็น snake_case underscore_case ฟรี ออนไลน์ ปลอดภัย

วางหนึ่งบรรทัดแล้วอ่านผลกลับมาในรูปแบบ snake_case ทุกอย่างเกิดขึ้นในเบราว์เซอร์ของคุณ — สิ่งที่คุณพิมพ์จะไม่ถูกส่งไปที่ใด และกฎต่าง ๆ เป็นไปตามภาษาของหน้านี้ ไม่ใช่ภาษาอังกฤษ

เขียนในอีกรูปแบบหนึ่ง

คำเชื่อมด้วยขีดล่าง
เกี่ยวกับรูปแบบการเขียนนี้
สิ่งที่ทำ แบ่งบรรทัดเป็นคำ แปลงเป็นตัวพิมพ์เล็ก แล้วเชื่อมด้วยขีดล่าง บรรทัดที่เขียนเป็น camelCase อยู่แล้วก็ถูกแบ่งตรงนั้นด้วย ดังนั้น “fooBar” จึงกลายเป็น “foo_bar”.
สิ่งที่ไม่ทำ มันไม่เก็บเครื่องหมายวรรคตอน จุลภาค จุด และขีดกลางเป็นเส้นแบ่งระหว่างคำ ไม่ใช่ตัวอักษรที่ต้องนำติดไปด้วย — ซึ่งเป็นสิ่งที่คุณต้องการสำหรับชื่อไฟล์หรือคอลัมน์ในฐานข้อมูล แต่ไม่ใช่สิ่งที่คุณต้องการสำหรับร้อยแก้ว.
และเรื่องภาษา การแบ่งเป็นคำต้องมีเส้นแบ่ง ภาษาไทย จีน และญี่ปุ่นเขียนโดยไม่เว้นวรรคระหว่างคำ ข้อความในอักษรเหล่านั้นจึงกลับมาเป็นคำเดียว — หน้านี้เลือกบอกอย่างนั้น แทนที่จะตัดตรงจุดที่เดาเอา.
ทำงานที่ไหน ในเบราว์เซอร์ของคุณ สิ่งที่คุณพิมพ์ที่นี่จะไม่ถูกส่งไปที่ใดเลย ดังนั้นฉบับร่าง รหัสผ่าน หรือชื่อลูกค้า ก็ปลอดภัยที่นี่เท่ากับในโปรแกรมแก้ไขข้อความ

ไม่มีการอัปโหลด

บรรทัดเดียวกันในทั้งเจ็ดรูปแบบ

รูปแบบการเขียน บรรทัดเดียวกัน เขียนในรูปแบบนั้น
ตัวพิมพ์ใหญ่CRÈME BRÛLÉE สำหรับ 2 ท่าน — STRASSE 17, FOOBAR
ตัวพิมพ์เล็กcrème brûlée สำหรับ 2 ท่าน — straße 17, foobar
Title CaseCrème Brûlée สำหรับ 2 ท่าน — Straße 17, Foobar
snake_casecrème_brûlée_สำหร_บ_2_ท_าน_straße_17_foo_bar
kebab-casecrème-brûlée-สำหร-บ-2-ท-าน-straße-17-foo-bar
camelCasecrèmeBrûléeสำหรบ2ทานStraße17FooBar
slug ของ URLcreme-brulee-สำหร-บ-2-ท-าน-strasse-17-foobar

รูปแบบเหล่านี้มาจากไหน

ตัวพิมพ์ใหญ่และตัวพิมพ์เล็กเคยเป็นตัวอักษรสองชุดที่ต่างกัน ตัวพิมพ์ใหญ่เป็นแบบโรมัน ใช้สกัดลงบนหิน ส่วนตัวพิมพ์เล็กสืบมาจากอักษรมินัสคูลแบบการอแล็งเฌียง ซึ่งเกิดจากปากกาที่เคลื่อนไปบนแผ่นหนังอย่างรวดเร็ว ช่างพิมพ์เก็บอักษรสองชุดนี้ไว้ในถาดแยกกัน คือถาดบน (upper case) และถาดล่าง (lower case) และชื่อเหล่านี้ก็ติดมานานหลังจากไม่มีถาดแล้ว ส่วนรูปแบบสำหรับงานโปรแกรมมีอายุน้อยกว่ามาก และถูกคิดขึ้นเพื่อแก้ปัญหาข้อเดียว คือชื่อไม่สามารถมีช่องว่างได้ snake_case มาจากภาษา C ในยุคแรก camelCase มาจาก Smalltalk kebab-case มาจาก Lisp และ URL slug เกิดจากความจำเป็นที่ต้องนำชื่อเรื่องที่คนอ่านเข้าใจไปใส่ในที่อยู่เว็บ ซึ่งไม่อนุญาตให้มีช่องว่างและเครื่องหมายกำกับเสียง

คุณจะพบได้ที่ไหน

Title Case เหมาะกับหัวข้อและชื่อหนังสือ ส่วนตัวพิมพ์ใหญ่เฉพาะต้นประโยค (sentence case) เหมาะกับแทบทุกอย่างที่เหลือ และใช้กับหน้าจออินเทอร์เฟซมากขึ้นเรื่อย ๆ เพราะอ่านได้เร็วกว่า snake_case ใช้ตั้งชื่อคอลัมน์ในฐานข้อมูลและตัวแปรใน Python camelCase ใช้ตั้งชื่อตัวแปรใน JavaScript และเมธอดใน Java kebab-case ใช้ตั้งชื่อคลาส CSS และชื่อไฟล์ในโปรเจกต์เว็บ ส่วน slug คือสิ่งที่เปลี่ยนพาดหัวบทความให้เป็นส่วนท้ายของที่อยู่เว็บ และเป็นการแปลงเพียงอย่างเดียวในหน้านี้ที่เสิร์ชเอนจินอ่าน

คำถามที่คนมักถาม

ทำไมการเปลี่ยนเป็นตัวพิมพ์ใหญ่จึงบางครั้งทำให้จำนวนตัวอักษรเปลี่ยนไป

เพราะตัวพิมพ์ใหญ่และเล็กเป็นคุณสมบัติของภาษา ไม่ใช่ของตัวอักษรแต่ละตัว ตัว ß ในภาษาเยอรมันจะกลายเป็น SS เมื่อเป็นตัวพิมพ์ใหญ่ ตัวอักษรหนึ่งตัวจึงกลายเป็นสองตัว ภาษาตุรกีมี i แบบมีจุดและแบบไม่มีจุด และการเปลี่ยน i เป็นตัวพิมพ์ใหญ่จะได้ İ ไม่ใช่ I ถ้าทำผิด คำภาษาตุรกีจะกลายเป็นอีกคำหนึ่ง การแปลงในหน้านี้ทำตามกฎของภาษาที่หน้านั้นใช้อยู่ ดังนั้นข้อความเดียวกันจึงอาจให้ผลต่างกันระหว่างหน้าภาษาตุรกีกับหน้าภาษาอังกฤษ

ทำไม slug จึงตัดเครื่องหมายกำกับเสียงและเครื่องหมายวรรคตอนออก

เพราะที่อยู่เว็บต้องทนต่อการถูกคัดลอกลงในข้อความ พิมพ์ลงบนกระดาษ และพิมพ์กลับเข้ามาด้วยมือ ตัวอักษรที่มีเครื่องหมายกำกับเสียงใช้ได้ใน URL สมัยใหม่ แต่เมื่อคัดลอกจะถูกเข้ารหัสแบบเปอร์เซ็นต์ ทำให้ที่อยู่ที่อ่านง่ายกลายเป็นสายสัญลักษณ์ยาวเหยียด การลดให้เหลือเพียงตัวอักษรธรรมดา ตัวเลข และขีดกลาง ช่วยให้ที่อยู่อ่านง่าย แชร์ต่อได้ และเหมือนกันทุกที่ที่ปรากฏ

คำตอบแม่นยำหรือไม่?

ถ้าหน่วยทั้งสองกำหนดค่าอิงกันด้วยจำนวนเต็ม คำตอบก็แม่นยำ — หน้านี้บอกไว้เหนือตัวเลข และการปัดเศษมีเพียงในจำนวนหลักที่แสดง แต่ถ้าอัตราส่วนไม่เป็นทศนิยมจำกัด หน้านี้จะแสดง 12 หลักนัยสำคัญ และบอกว่าความสัมพันธ์นั้นเป็นค่าประมาณ แทนที่จะแสร้งว่าแม่นยำ

สิ่งที่ฉันพิมพ์จะออกจากอุปกรณ์ของฉันหรือไม่?

ไม่ การคำนวณทำในเบราว์เซอร์ของคุณ ไม่มีอะไรถูกอัปโหลด และก็ไม่มีเซิร์ฟเวอร์ให้อัปโหลดไปด้วย โหลดหน้านี้เพียงครั้งเดียว แล้วจะใช้งานต่อได้แม้ปิดเครือข่าย

ทำไมคุณจึงแปลงข้อความเป็น snake_case

โปรแกรมเมอร์ตั้งชื่อตัวแปรว่า annual report total ไม่ได้ เพราะชื่อห้ามมีช่องว่าง คอลัมน์ในฐานข้อมูลก็เรียกว่า Customer First Name ไม่ได้ และไฟล์ที่ชื่อ Final Draft (2).docx ไม่ช้าก็เร็วจะสร้างปัญหาให้สคริปต์ ที่ไหนสักแห่งตลอดเส้นทาง วลีที่มนุษย์เขียนต้องกลายเป็นคำเดียว และรูปแบบที่ชุมชนจำนวนมากลงตัวใช้ก็คือ snake_case คือตัวอักษรเล็กทั้งหมดและคำต่าง ๆ เชื่อมกันด้วยขีดล่าง เช่น annual_report_total, customer_first_name, final_draft_2 การแปลงข้อความเป็น snake_case คือการนำวลีใดก็ตามในสภาพใดก็ตามมาเปลี่ยนให้เป็นรูปแบบนั้นในขั้นตอนเดียว

วางหนึ่งบรรทัดแล้วอ่านผลลัพธ์ในรูปแบบ snake_case การแปลงเกิดขึ้นในเบราว์เซอร์ของคุณ สิ่งที่คุณพิมพ์ไม่ถูกส่งไปที่ใด และกฎเป็นไปตามภาษาของหน้านี้ ไม่ใช่ภาษาอังกฤษ หน้านี้ตัดบรรทัดเป็นคำ แปลงเป็นตัวพิมพ์เล็ก แล้วเชื่อมด้วยขีดล่าง บรรทัดที่เขียนเป็น camelCase อยู่แล้วจะถูกตัดตรงตัวพิมพ์ใหญ่ด้วย ดังนั้น fooBar จึงกลายเป็น foo_bar ด้านล่างนี้คุณจะพบว่าสิ่งนั้นหมายถึงอะไรกันแน่ อะไรถูกตัดทิ้ง หน้านี้จัดการกับตัวอักษรที่ยุ่งยากของภาษาต่าง ๆ อย่างไร ที่ใดที่ snake_case เป็นธรรมเนียมและที่ใดที่ไม่ใช่ และกับดักที่ทำให้คนที่รีบแปลงข้อความเป็น snake_case พลาดได้

การแปลงทำอะไร

ตัด แปลงเป็นตัวพิมพ์เล็ก เชื่อม

หน้านี้ตัดบรรทัดเป็นคำก่อน จากนั้นแปลงแต่ละคำเป็นตัวพิมพ์เล็กและเชื่อมด้วยขีดล่าง บรรทัด Crème brûlée for 2 — straße 17, fooBar จะกลับมาเป็น crème_brûlée_for_2_straße_17_foo_bar เครื่องหมายเน้นเสียงยังอยู่ ตัวเลขยังเป็นคำของตัวเอง เครื่องหมายขีดยาวและเครื่องหมายจุลภาคหายไป และ fooBar ถูกตัดเป็นสองส่วน เพราะตัวพิมพ์ใหญ่ภายในคำนั้นเป็นจุดแบ่ง

จุดที่ตัด

ขอบเขตของคำคือช่องว่าง เครื่องหมายวรรคตอน เครื่องหมายขีด สัญลักษณ์ หรือการเปลี่ยนจากตัวพิมพ์เล็กเป็นตัวพิมพ์ใหญ่ภายในคำ ดังนั้นวลี customerFirstName วลี Customer First Name และวลี customer-first-name จึงกลายเป็น customer_first_name ทั้งหมด นี่คือจุดแข็งที่ใช้งานได้จริงของการแปลง คือรับจุดเริ่มต้นได้เกือบทุกแบบและได้ผลลัพธ์ที่เดียวกันเสมอ

การคัดลอกผลลัพธ์

ปุ่มข้างผลลัพธ์จะคัดลอกไปยังคลิปบอร์ด วางลงในโปรแกรมแก้ไข สคีมา หรือกล่องโต้ตอบไฟล์ที่ต้องใช้ชื่อนั้น

การแปลงไม่ทำอะไร

ไม่เก็บเครื่องหมายวรรคตอน

เครื่องหมายจุลภาค จุด และขีดคือขอบเขตระหว่างคำ ไม่ใช่อักขระที่ต้องคงไว้ นั่นคือสิ่งที่คุณต้องการสำหรับชื่อไฟล์หรือคอลัมน์ฐานข้อมูล แต่ไม่ใช่สิ่งที่คุณต้องการสำหรับเนื้อความ หากคุณนำประโยคผ่านหน้านี้ มันจะกลับมาเป็นชื่อ ไม่ใช่ประโยค และเครื่องหมายวรรคตอนเดิมจะหายไป

ไม่ลบเครื่องหมายเน้นเสียง

บรรทัดคงตัวอักษรที่มีเครื่องหมายเน้นเสียงไว้: crème_brûlée หลายระบบรับได้ แต่บางระบบไม่รับ และชื่อที่มีเครื่องหมายเหล่านั้นอาจสร้างปัญหาในเครื่องมือรุ่นเก่า หากคุณต้องการตัวอักษรธรรมดา ให้ใช้หน้า URL slug ซึ่งถอดเครื่องหมายออกจากตัวอักษรละติน

ไม่ตรวจว่าชื่อใช้ได้ในภาษาของคุณ

ภาษาโปรแกรมมีกฎของตัวเอง บางภาษาห้ามชื่อที่ขึ้นต้นด้วยตัวเลข บางภาษาสงวนคำอย่าง class หรือ return หน้านี้เปลี่ยนข้อความเป็นชื่อที่มีรูปทรงถูกต้อง และคุณยังต้องตรวจสอบเองว่าชื่อนั้นใช้ได้ในที่ที่คุณใช้ วลีอย่าง 2 for 1 offer จะกลายเป็น 2_for_1_offer ซึ่งภาษาส่วนใหญ่ปฏิเสธตั้งแต่ตัวแรก

ภาษาสำคัญ

ระบบการเขียนที่ไม่มีช่องว่าง

การตัดเป็นคำต้องมีขอบเขต ภาษาจีนและภาษาญี่ปุ่นเขียนโดยไม่เว้นวรรค ดังนั้นบรรทัดในอักษรเหล่านั้นจะกลับมาเป็นคำเดียว หน้านี้เลือกที่จะบอกอย่างนั้นแทนที่จะตัดตรงที่เดาเอา เพราะการตัดผิดจะได้ชื่อที่ดูสมเหตุสมผลแต่มีความหมายผิด

ภาษาตุรกีและตัว i มีจุด

การแปลงเป็นตัวพิมพ์เล็กเป็นไปตามกฎของภาษาของหน้านี้ ในภาษาตุรกี รูปเล็กของ I คือ ı ที่ไม่มีจุด และรูปเล็กของ İ คือ i ตัวแปลงที่ใช้กฎภาษาอังกฤษจะเปลี่ยนคำ หน้านี้ทำตามภาษาที่มันเขียนด้วย

ภาษาเยอรมันและ s คม

ß ของภาษาเยอรมันเป็นตัวพิมพ์เล็กอยู่แล้วและถูกคงไว้ เช่น straße_17 ส่วน STRASSE ตัวพิมพ์ใหญ่จะกลับมาเป็น strasse เพราะรูปตัวพิมพ์ใหญ่จำไม่ได้ว่ามาจาก ß หรือมาจากอักษรสองตัว

อักษรเขียนจากขวาไปซ้ายและอักษรอินเดีย

ภาษาอาหรับ ฮีบรู และอักษรของอินเดียมีช่องว่างระหว่างคำและไม่มีตัวพิมพ์ใหญ่เล็ก หน้านี้จึงเชื่อมคำของอักษรเหล่านั้นด้วยขีดล่างและปล่อยตัวอักษรไว้ตามเดิม ส่วนเครื่องมือใดรับชื่อแบบนั้นหรือไม่เป็นอีกเรื่องหนึ่ง

ที่ใดที่ snake_case เป็นธรรมเนียม

Python และ Ruby

คู่มือสไตล์ของ Python แนะนำ snake_case สำหรับฟังก์ชัน ตัวแปร และโมดูล และ Ruby ก็ทำตามความเคยชินเดียวกัน หากคุณเขียนโค้ดในภาษาใดภาษาหนึ่งนี้ ชื่อของคุณเกือบทั้งหมดจะอยู่ในรูปแบบนี้

ฐานข้อมูล

ชื่อตารางและคอลัมน์ใน SQL มักเป็น snake_case เช่น customer_id, created_at, order_total ซึ่งช่วยให้ไม่ต้องใส่เครื่องหมายคำพูดครอบชื่อ และปลอดภัยในทุกระบบฐานข้อมูล บางระบบแปลงชื่อที่ไม่มีเครื่องหมายคำพูดให้เป็นตัวพิมพ์แบบเดียวและจะเปลี่ยน camelCase เป็นตัวอักษรเรียงกันที่อ่านไม่ออก

ไฟล์ข้อมูลและ API

บริการเว็บจำนวนมากใช้คีย์แบบ snake_case ใน JSON และสเปรดชีตที่ส่งออกไปประมวลผลต่อมักมีหัวคอลัมน์แบบ snake_case หากข้อมูลของคุณกำลังผ่าน แปลง CSV เป็น JSON แถวหัวคอลัมน์จะกลายเป็นคีย์ และหัวคอลัมน์ snake_case ที่เป็นระเบียบทำให้ผลลัพธ์ใช้งานง่าย

ค่าคงที่และตัวแปรสภาพแวดล้อม

ค่าคงที่และตัวแปรสภาพแวดล้อมโดยธรรมเนียมเขียนเป็นตัวพิมพ์ใหญ่คั่นด้วยขีดล่าง เช่น MAX_RETRIES, DATABASE_URL วิธีที่จะได้คือแปลงข้อความเป็น snake_case ก่อน แล้วยกผลลัพธ์เป็นตัวพิมพ์ใหญ่ด้วย แปลงข้อความเป็นตัวพิมพ์ใหญ่

ชื่อไฟล์

ตัวพิมพ์เล็กคั่นด้วยขีดล่างเป็นชื่อไฟล์ที่ปลอดภัยในทุกระบบ และเรียงลำดับกับค้นหาได้อย่างคาดเดาได้ ช่างภาพ นักวิจัย และผู้ดูแลระบบจำนวนมากใช้รูปแบบนี้ด้วยเหตุผลนั้นเอง

ที่ใดที่ไม่ใช่ธรรมเนียม

JavaScript และ Java

ภาษาเหล่านี้นิยม camelCase สำหรับตัวแปรและฟังก์ชัน และ PascalCase สำหรับคลาส ชื่อจากสคริปต์ Python อาจต้องแปลงก่อนจะปรากฏในไฟล์ JavaScript ดู camelCase สำหรับเรื่องนั้น

CSS และที่อยู่เว็บ

ชื่อคลาส CSS และที่อยู่เว็บมักใช้ขีดกลาง ไม่ใช่ขีดล่าง เครื่องมือสำหรับเรื่องนั้นคือ kebab-case เสิร์ชเอนจินถือขีดกลางเป็นตัวคั่นคำและขีดล่างเป็นตัวเชื่อม ความต่างเล็ก ๆ นี้อยู่เบื้องหลังความเคยชินที่ใช้ที่อยู่แบบมีขีดกลาง

เนื้อความและชื่อเรื่อง

snake_case ใช้สำหรับชื่อ ไม่ใช่สำหรับอ่าน ชื่อเรื่องหรือประโยคในรูปแบบนี้อ่านยากต่อสายตา สำหรับข้อความที่มนุษย์อ่าน ให้คงคำและช่องว่างไว้ และสำหรับหัวเรื่องลองพิจารณา Title Case

วิธีแปลงข้อความเป็น snake_case ที่นี่

วางหรือพิมพ์ข้อความของคุณ

ใส่วลีในช่องแรก ผลลัพธ์จะปรากฏทันทีในช่องที่สอง คุณจึงดูมันเปลี่ยนไปได้ขณะพิมพ์

ตรวจจุดที่ตัด

ดูว่าคำถูกแบ่งตรงไหน คำอย่าง iPhone หรือ eBay จะถูกตัดตรงตัวพิมพ์ใหญ่ และตัวย่ออย่าง HTTPServer ต้องดูสักครู่ว่าออกมาตรงตามที่คุณตั้งใจ

คัดลอก

กดปุ่มคัดลอกแล้ววางผลลัพธ์ในที่ที่คุณต้องการ สำหรับรูปแบบอื่นของบรรทัดเดียวกัน ดูด้านล่าง

การใช้ snake_case ทั้งโปรเจกต์

หนึ่งธรรมเนียมสำหรับทั้งสแตก

โปรเจกต์ที่ผสมรูปแบบการตั้งชื่ออ่านยากกว่าโปรเจกต์ที่ดูไม่สวยนักแต่สม่ำเสมอ หากฐานข้อมูลใช้ snake_case โค้ดที่คุยกับมันมักใช้เหมือนกัน และไฟล์ที่เคลื่อนย้ายระหว่างทั้งสองก็ตามกันไป เมื่อคุณแปลงข้อความเป็น snake_case สำหรับคอลัมน์ใหม่หรือฟิลด์ใหม่ คุณกำลังเลือกชื่อที่ทุกชั้นอื่นต้องอยู่ร่วมด้วย ดังนั้นให้เลือกครั้งเดียวแล้วใช้ต่อไปให้ตลอด

การย้ายชื่อระหว่างธรรมเนียม

ไม่ช้าก็เร็วชื่อจากธรรมเนียมหนึ่งต้องปรากฏในอีกธรรมเนียมหนึ่ง คอลัมน์ฐานข้อมูล customer_first_name กลายเป็น customerFirstName ในออบเจกต์ JavaScript และ customer-first-name ในคลาส CSS หรือ URL แทนที่จะพิมพ์ใหม่ทีละชื่อด้วยมือ ให้วางชื่อต้นฉบับในหน้าที่สร้างรูปแบบที่คุณต้องการ: camelCase สำหรับโค้ดในตระกูลภาษา C และ JavaScript และ kebab-case สำหรับสไตล์และที่อยู่ ทั้งสามรูปแบบของชื่อเดียวกันเป็นการแปลที่ตรงกันของกันและกัน และตัวแปลงทำให้ได้อย่างสม่ำเสมอ

ไฟล์การตั้งค่า

ไฟล์การตั้งค่ามักใช้คีย์แบบ snake_case โดยเฉพาะใน YAML ที่เครื่องมือจำนวนมากใช้ เมื่อคุณเตรียมไฟล์ดังกล่าวจากข้อมูลที่เก็บเป็น JSON แปลง JSON เป็น YAML จะคงคีย์ไว้ตามที่คุณเขียน และ แปลง YAML เป็น JSON ทำในทางกลับกัน ให้ตกลงใช้ snake_case สำหรับคีย์ก่อนเริ่ม แล้วการแปลงระหว่างรูปแบบจะไม่รบกวนคีย์เหล่านั้น

การเปลี่ยนชื่อจำนวนมาก

หากคุณรับช่วงต่อไฟล์ข้อมูลที่หัวคอลัมน์ผสมหลายสไตล์ ให้แปลงแต่ละหัวด้วยหน้านี้และแทนที่ทั้งหมดในครั้งเดียว ทดสอบกับตัวอย่างเล็ก ๆ ก่อน เพราะสคริปต์ที่อ่านไฟล์ด้วยหัวคอลัมน์จะพังหากชื่อเปลี่ยนเพียงบางที่ เก็บรายการชื่อเก่าและชื่อใหม่ไว้ข้างไฟล์ เพื่อให้เพื่อนร่วมงานเห็นว่าอะไรเปลี่ยนไป

การเขียนชื่อที่อยู่ได้นาน

บอกว่าสิ่งนั้นคืออะไร ไม่ใช่เก็บอย่างไร

ชื่อที่ดีอธิบายเนื้อหา order_total บอกว่าตัวเลขหมายถึงอะไร col7 ไม่บอก เมื่อคุณแปลงข้อความเป็น snake_case ให้แน่ใจว่าวลีที่คุณเริ่มต้นเป็นวลีที่ชัดเจนที่สุดที่คุณเขียนได้ เพราะตัวแปลงจะคงความชัดเจนหรือความสับสนของมันไว้อย่างซื่อสัตย์

หลีกเลี่ยงตัวย่อที่มีแต่คุณเข้าใจ

ชื่ออย่าง cust_fn_dt เป็นปริศนาสำหรับคนอื่น และสำหรับตัวคุณเองในอีกหกเดือน ขีดล่างราคาถูก และคำเพิ่มก็เช่นกัน ชื่อที่ยาวกว่าซึ่งอ่านเหมือนประโยคเป็นของขวัญที่ดีกว่าสำหรับคนถัดไป เมื่อเทียบกับชื่อสั้นที่ต้องมีคำอธิบายประกอบ

ใช้เอกพจน์และพหูพจน์ให้สม่ำเสมอ

ตัดสินใจว่าจะตั้งชื่อตารางเป็นเอกพจน์ customer หรือพหูพจน์ customers และยึดตามนั้น ธรรมเนียมสำคัญน้อยกว่าความสม่ำเสมอ วลีที่เปลี่ยนเป็น snake_case คงจำนวนที่คุณให้ไว้

ใส่คำนำหน้าเมื่อมีประโยชน์

ในสคีมาขนาดใหญ่ คำนำหน้าสั้น ๆ จัดกลุ่มชื่อที่เกี่ยวข้อง: billing_address, billing_city, billing_country การพิมพ์วลีพร้อมคำนำหน้าแล้วแปลงให้ผลลัพธ์ที่สม่ำเสมอ และรายการเรียงตามตัวอักษรก็จัดกลุ่มตัวเอง

ทดสอบชื่อก่อนผูกมัดกับมัน

ก่อนที่ชื่อจะเข้าไปในสคีมาหรือ API ให้ลองใช้ในที่ที่มันจะปรากฏ: คำสั่งค้นหา ตัวแปร รายการไฟล์ หากอ่านเป็นธรรมชาติทั้งสามที่ ก็ใช้ได้ หากรู้สึกขัด ให้ทำวลีให้สั้นลงหรือเรียบเรียงใหม่แล้วแปลงข้อความเป็น snake_case อีกครั้ง การทดสอบหนึ่งนาทีตอนเริ่มต้นช่วยให้ไม่ต้องเปลี่ยนชื่อข้ามหลายร้อยไฟล์ในภายหลัง

บรรทัดเดียวกันในเจ็ดรูปแบบการเขียน

ตารางรูปแบบ

ใต้ตัวแปลงมีตารางแสดงบรรทัดตัวอย่างในทั้งเจ็ดรูปแบบที่เว็บไซต์มี: ตัวพิมพ์ใหญ่ ตัวพิมพ์เล็ก Title Case, snake_case, kebab-case, camelCase และ URL slug เป็นวิธีที่รวดเร็วในการดูว่าคำเดียวกันเมื่อเขียนแต่ละแบบเป็นอย่างไร

รูปแบบเหล่านี้มาจากไหน

สองตัวอักษร

ตัวพิมพ์ใหญ่และตัวพิมพ์เล็กเคยเป็นอักษรสองชุดที่ต่างกัน ตัวพิมพ์ใหญ่เป็นแบบโรมัน แกะลงหินด้วยสิ่ว ส่วนตัวพิมพ์เล็กสืบมาจากตัวเล็กแบบคาโรลิงเจียน เกิดจากปากกาที่เคลื่อนเร็วบนแผ่นหนัง ช่างพิมพ์เก็บสองชุดไว้ในถาดแยกกัน คือถาดบนและถาดล่าง (upper case และ lower case) และชื่อเหล่านั้นติดมานานหลังจากถาดหายไปแล้ว

ชื่อที่ไม่มีช่องว่าง

รูปแบบสำหรับโปรแกรมเมอร์อายุน้อยกว่ามาก และถูกคิดขึ้นเพื่อแก้ปัญหาเดียว: ชื่อไม่สามารถมีช่องว่างได้ snake_case มาจาก C ยุคแรก camelCase มาจาก Smalltalk kebab-case มาจาก Lisp และ URL slug มาจากความจำเป็นที่ต้องใส่ชื่อเรื่องของมนุษย์ลงในที่อยู่ที่ไม่อนุญาตให้มีช่องว่างและเครื่องหมายเน้นเสียง ขีดล่างเป็นอักขระที่สะดวกบนคีย์บอร์ดสมัยนั้น และมันดูเหมือนช่องว่างที่วางอยู่บนเส้นบรรทัด

กับดักเมื่อคุณแปลงข้อความเป็น snake_case

ขึ้นต้นชื่อด้วยตัวเลข

ภาษาและฐานข้อมูลส่วนใหญ่ปฏิเสธชื่อที่ขึ้นต้นด้วยตัวเลข ให้เพิ่มตัวอักษรหรือคำไว้ข้างหน้าหากวลีขึ้นต้นด้วยตัวเลข

คาดหวังว่าคำสงวนจะถูกจัดการ

วลีอย่าง class หรือ order อาจเป็นคำสงวนในภาษาของคุณหรือใน SQL หน้านี้ไม่รู้ และคุณต้องตรวจสอบเอง

ตัวย่อ

ตัวย่อภายในชื่อแบบ camelCase เช่น parseHTMLString อาจถูกตัดเป็น parse_h_t_m_l_string หรือ parse_html_string ขึ้นอยู่กับกฎ ตรวจดูว่าผลลัพธ์เป็นอย่างที่คุณต้องการ

ชื่อที่ยาวมาก

ฐานข้อมูลและระบบไฟล์กำหนดข้อจำกัดความยาว วลียาวที่เปลี่ยนเป็นชื่ออาจชนข้อจำกัดนั้น ให้ย่อถ้อยคำก่อนแปลง

คำถามที่คนมักถามก่อนแปลง

เครื่องหมายวรรคตอนเป็นอย่างไร

ถือเป็นขอบเขตระหว่างคำและไม่ถูกคงไว้

ตัวเลขถูกเก็บไว้หรือไม่

ใช่ เป็นคำของตัวเอง คั่นด้วยขีดล่าง

รองรับข้อมูลเข้าแบบ camelCase หรือไม่

ได้ ตัวพิมพ์ใหญ่ภายในคำเป็นจุดตัด ดังนั้น fooBar จึงกลายเป็น foo_bar

ใช้กับภาษาอื่นได้หรือไม่

ได้ ตามกฎของภาษาของหน้านี้ อักษรที่ไม่มีช่องว่าง เช่น ภาษาจีนและภาษาญี่ปุ่น จะกลับมาเป็นคำเดียว

ข้อความของฉันถูกอัปโหลดหรือไม่

ไม่ สิ่งที่คุณพิมพ์ที่นี่ไม่ถูกส่งไปที่ใด ดังนั้นร่างเอกสาร รหัสผ่าน หรือชื่อลูกค้าจึงปลอดภัยที่นี่เท่ากับในโปรแกรมแก้ไขข้อความ

ฉันจะได้ขีดกลางแทนได้อย่างไร

ด้วย แปลงข้อความเป็น kebab-case

ตัวอย่างที่ใช้งานจริง

สมมติว่าคุณกำลังสร้างฐานข้อมูลเล็ก ๆ สำหรับห้องสมุด และเจ้าหน้าที่ส่งชื่อคอลัมน์จากสเปรดชีตของพวกเขามาให้: Book Title, Author's Last Name, Year Published (YYYY), ISBN-13 คุณแปลงทีละชื่อและอ่านได้ book_title, author_s_last_name, year_published_yyyy และ isbn_13 เครื่องหมายอะพอสทรอฟีทำให้คอลัมน์ผู้เขียนดูไม่เรียบร้อย คุณจึงย่อต้นฉบับเป็น Author Last Name แล้วแปลงอีกครั้ง: author_last_name คอลัมน์ปีชัดเจนกว่าเมื่อไม่มีหมายเหตุรูปแบบ คุณจึงเก็บ year_published ไว้ ได้ชื่อคอลัมน์ที่เป็นระเบียบสี่ชื่อ เขียนเสร็จในหนึ่งนาที และแต่ละชื่อเป็นชื่อที่ฐานข้อมูลจะยอมรับ

รายการตรวจสอบสั้น ๆ

ก่อนแปลง

เขียนวลีด้วยคำธรรมดา โดยไม่มีหมายเหตุในวงเล็บ ตรวจว่าปลายทางรับขีดล่างและเครื่องหมายเน้นเสียง

ขณะแปลง

วางวลี ดูจุดที่ตัด และตรวจให้แน่ใจว่าชื่อขึ้นต้นด้วยตัวอักษร

หลังแปลง

ตรวจความยาว ตรวจกับคำสงวน และเก็บบันทึกวลีต้นฉบับไว้ เพื่อให้ย้อนจากชื่อไปหาความหมายได้

ข้อผิดพลาดที่พบบ่อย

ใช้ snake_case กับข้อความที่ผู้คนจะอ่าน

มันมีไว้สำหรับชื่อ ไม่ใช่เนื้อความ

ลืมว่าปลายทางอนุญาตอะไร

ตัวเลขตอนต้น เครื่องหมายเน้นเสียง และข้อจำกัดความยาวต่างกันไปในแต่ละระบบ

แปลงตัวย่อโดยไม่ดู

ตรวจจุดที่ตัดรอบ ๆ ตัวย่อ

ข้อความของคุณอยู่บนอุปกรณ์ของคุณ

การแปลงเกิดขึ้นในเครื่อง ข้อความของคุณถูกจัดการโดยเบราว์เซอร์ของคุณเอง และไม่มีอะไรถูกส่งไปที่ใด ไม่มีอะไรต้องลบหลังจากนั้นและไม่ต้องสร้างบัญชี นี่คือวิธีง่าย ๆ ในการแปลงข้อความเป็น snake_case

สรุป

หากต้องการแปลงข้อความเป็น snake_case ที่นี่ ให้วางหนึ่งบรรทัดแล้วอ่านผลลัพธ์ที่คำถูกตัด แปลงเป็นตัวพิมพ์เล็ก และเชื่อมด้วยขีดล่าง บรรทัดที่เขียนเป็น camelCase อยู่แล้วก็ถูกตัดตรงนั้นด้วย ดังนั้น fooBar จึงกลายเป็น foo_bar หน้านี้ไม่เก็บเครื่องหมายวรรคตอน: เครื่องหมายจุลภาค จุด และขีดคือขอบเขตระหว่างคำ ไม่ใช่อักขระที่ต้องคงไว้ ซึ่งเป็นสิ่งที่คุณต้องการสำหรับชื่อไฟล์หรือคอลัมน์ฐานข้อมูล แต่ไม่ใช่สำหรับเนื้อความ การตัดเป็นคำต้องมีขอบเขต ภาษาจีนและภาษาญี่ปุ่นที่เขียนโดยไม่เว้นวรรคจึงกลับมาเป็นคำเดียว การแปลงเป็นตัวพิมพ์เล็กเป็นไปตามภาษาของหน้านี้ ไม่มีอะไรถูกอัปโหลด

ความยาวและพื้นที่ มวลและปริมาตร อุณหภูมิ สกุลเงิน