เครื่องมือข้อความและชีวิตประจำวัน · ชุดเครื่องมือข้อความ
วิธีที่ตัวแปลงเคสแยก CamelCase และตัวย่อเช่น parseHTTPResponse
· มันทำงานอย่างไร
การแปลงข้อความ นักพัฒนาเวิร์กโฟลว์ ยูนิโค้ด
อธิบายกฎขอบเขตสามข้อที่ตัวแปลงเคสที่ดีใช้ — การรันตัวคั่น การเปลี่ยนจากล่างขึ้นบน และขอบตัวย่อ — และเหตุใด parseHTTPResponse2Json จึงเป็นการทดสอบที่เปิดเผยกฎที่อ่อนแอ
parse_h_t_t_p_response และความล้มเหลวอื่น ๆ - เหตุใดการแปลงตัวระบุจึงยากกว่าการแปลง 'สวัสดีชาวโลก'
การเปลี่ยน “สวัสดีชาวโลก” ให้เป็น hello_world นั้นเป็นเรื่องง่าย การเปลี่ยน parseHTTPResponse เป็น parse_h_t_t_p_response เป็นสัญญาณว่าอัลกอริทึมถือว่าตัวพิมพ์ใหญ่แต่ละตัวเป็นคำ นักพัฒนาที่เปลี่ยนชื่อตัวระบุ JavaScript สำหรับ Python API ต้องการสิ่งที่ตรงกันข้าม: ระบุโทเค็นก่อน จากนั้นจึงใช้รูปแบบการเข้าร่วมของปลายทาง ขั้นตอนแรกเดียวกันควรเพิ่มพลังให้กับงู เคบับ อูฐ และเอาต์พุตปาสคาล มิฉะนั้น ปุ่มสี่ปุ่มจะไม่เห็นด้วยกับจุดเริ่มต้นของคำ
กฎข้อที่หนึ่ง: การรันตัวคั่น — การเว้นวรรค ยัติภังค์ ขีดล่าง และเครื่องหมายวรรคตอน ทั้งหมดจะทำเครื่องหมายขอบเขต ไม่ว่าจะมีกี่บรรทัดก็ตาม
การเว้นวรรค ยัติภังค์ ขีดล่าง และอักขระที่ไม่ใช่ตัวอักษร/non-numberอื่นๆ ทำเครื่องหมายขอบเขตไว้แล้ว ถือว่าการเรียกใช้เป็นตัวคั่นเดียว: ปุ่ม - หลักควรกลายเป็นโทเค็นสองอัน ไม่ใช่โทเค็นว่างระหว่างเครื่องหมายยัติภังค์ ตัวแปลงตัวพิมพ์เล็กของ ToolAcre แยกด้วยนิพจน์ที่รับรู้ Unicode สำหรับตัวอักษรและตัวเลข ดังนั้น ตัวอักษรที่ไม่ใช่ ASCII ทั่วไปจะไม่ถูกโยนทิ้งไปเพียงเพราะอยู่นอก A–Z การทำให้เป็นมาตรฐานของช่องว่างนั้นเกี่ยวกับการตั้งชื่อแบบแผน ไม่ใช่เกี่ยวกับการเปลี่ยนไฟล์ต้นฉบับโดยอัตโนมัติ
กฎข้อที่สอง: การเปลี่ยนจากล่างขึ้นบน — ตัวอักษรพิมพ์เล็กหรือตัวเลขตามด้วยตัวพิมพ์ใหญ่จะขึ้นต้นคำใหม่
รูปแบบสำหรับตัวอักษรตัวพิมพ์เล็กหรือตัวเลขที่ตามด้วยตัวอักษรตัวพิมพ์ใหญ่จะแทรกขอบเขตก่อนตัวพิมพ์ใหญ่ นั่นเปลี่ยน parseResponse เป็น parse + Response และอนุญาตให้ 2Json กลายเป็น 2 + Json กฎนี้ไม่ได้แยกคำนำหน้าออกจากหลักสุดท้ายโดยตัวมันเอง: ToolAcre ถือว่า Response2 เป็นโทเค็นเดียวก่อนที่จะแยกตัวพิมพ์ใหญ่ J ไม่ว่าคุณจะต้องการให้ Response + 2 เป็นการตัดสินใจเกี่ยวกับสไตล์หรือไม่ ดังนั้นให้ตรวจสอบตัวระบุที่เป็นตัวเลข แทนที่จะถือว่าตัวแปลงทุกตัวเลือกตัวเลือกเดียวกัน
กฎข้อที่สาม: ตัวย่อขอบ — การเรียกใช้ตัวพิมพ์ใหญ่ตามด้วยคู่ตัวพิมพ์ใหญ่แล้วตัวพิมพ์เล็กจะสิ้นสุดตัวย่อก่อนตัวพิมพ์ใหญ่สุดท้าย
คำย่อต้องมองไปข้างหน้าอีกครั้งหนึ่ง ใน HTTPResponse การเรียกใช้ตัวพิมพ์ใหญ่ HTTP จะสิ้นสุดก่อน R เนื่องจาก R ตามด้วยตัวพิมพ์เล็ก กฎที่ตรงกับการรันและคู่ตัวพิมพ์ใหญ่-ตัวพิมพ์เล็กจะแทรกขอบเขตที่นั่น: HTTP + การตอบสนอง ไม่ใช่ H + T + T + P + การตอบสนอง เมื่อชื่อลงท้ายด้วยตัวพิมพ์ใหญ่ทั้งหมด จะไม่มีคำต่อท้ายตัวพิมพ์เล็กมาแทนคำใหม่ และตัวย่อจะอยู่ด้วยกัน นั่นคือความแตกต่างระหว่างตัวระบุโทเค็นและการแทรกตัวคั่นหน้าตัวพิมพ์ใหญ่ทุกตัว
ตัวเลขและกรณีขอบ - โดยที่ '2Json' แยกออก และเหตุใดจึงไม่มีชุดกฎใดที่ตรงกับคำแนะนำทุกสไตล์
แบบแผนหลักยังคงคลุมเครือ: version2Parser, HTTP2Json และ IP6Address ไม่ได้หมายความถึงการจัดกลุ่มคำเดียวกันทั้งหมด ToolAcre จัดกลุ่มตัวเลขด้วยโทเค็นก่อนหน้าจนกว่าตัวพิมพ์ใหญ่ตัวถัดไปจะทริกเกอร์ขอบเขตถัดไป ในทำนองเดียวกัน จดหมายที่มีตัวพิมพ์ใหญ่ตามสถานที่อาจขยายหรือทำงานแตกต่างจาก ASCII: จุดตุรกี/dotless i และภาษาเยอรมัน ß สมควรได้รับการตรวจสอบโดยเจ้าหน้าที่ เครื่องมือนี้ทำการเปลี่ยนแปลงตามที่กำหนด ไม่ใช่การอ้างสิทธิ์ในการทำความเข้าใจการตั้งชื่อเชิงความหมายของตัวแปร
ตัวอย่างการทำงาน — การรัน parseHTTPResponse2Json และคลาส CSS ยัติภังค์ผ่านเคสงู เคบับ อูฐ และปาสคาล
รัน parseHTTPResponse2Json ผ่านตัวแปลงเคสจริง โดยสร้าง parse_http_response2_json ในกรณีงู, parse-http-response2-json ในกรณีเคบับ, parseHttpResponse2Json ในกรณีอูฐและ ParseHttpResponse2Json ในกรณี Pascal สำหรับปุ่ม หลัก ตัวแยกที่อยู่ติดกันจะยุบเป็น button_primary และ button-primary ผลลัพธ์เหล่านี้จะแสดงทั้งกฎตัวย่อที่สำเร็จและตัวเลือกการจัดกลุ่มตัวเลข ทดสอบกับปลายทางของคุณ API ก่อนที่จะใช้การค้นหาและแทนที่ในโค้ดเบส
สิ่งนี้ไม่ครอบคลุมถึง - ตัวพิมพ์เฉพาะสถานที่ เช่น จุดตุรกี i ซึ่งมีโพสต์ของตัวเอง
กลไกนี้ไม่ได้ใช้การพับกรณีของทุกภาษา โดยอนุมานว่าตัวย่อย่อมาจากคำโดเมนเฉพาะ หรือเปลี่ยนชื่อการอ้างอิงทั่วทั้งโปรแกรม การแปลงสตริงและตัวระบุแตกต่างจากการปรับโครงสร้างซอร์สโค้ดด้วยการรับรู้สัญลักษณ์ เครื่องมือไม่สามารถรับประกันได้ว่าบริการ Python จะยอมรับฟิลด์ JSON ที่เปลี่ยนชื่อแล้ว ผู้โทรอาจยังคงขึ้นอยู่กับการสะกดคำแบบเก่า รันการทดสอบสคีมาของคุณหลังจากเปลี่ยนชื่อฟิลด์สาธารณะ
สิ่งสำคัญ — ตัวแปลงเคสของ Text Toolkit ใช้กฎสามข้อนี้และแสดงผลลัพธ์ทันที เพื่อให้คุณสามารถตรวจสอบได้ก่อนวางลงในโค้ด
ขั้นแรกให้ระบุโทเค็นโดยใช้ตัวคั่น การเปลี่ยนภาพ และขอบตัวย่อ จากนั้นจึงเข้าร่วมและทำกรณีเหล่านั้น ชุดเครื่องมือข้อความทำให้กฎเหล่านั้นมองเห็นได้ด้วยผลลัพธ์ทันที และให้คุณเลิกทำการแปลงได้ สำหรับชื่อฟิลด์ที่มีตัวย่อจำนวนมาก ให้เปรียบเทียบผลลัพธ์งู/kebab จริง แทนที่จะใช้นิพจน์ทั่วไปที่เป็นอักษรพิมพ์ใหญ่อย่างง่ายแบบสุ่มสี่สุ่มห้ากับพื้นที่เก็บข้อมูลทั้งหมด