คำตอบสั้น: ใช่สตริงจะไม่เหมาะสำหรับงานอื่น ๆ นอกเหนือจากการจัดเก็บและเข้าถึงลำดับของตัวละครต้นฉบับเดิมและแม้ว่าบิตพื้นฐานของนามธรรมสตริงมีประโยชน์ในการอ้างอิงถึงพวกเขาเป็นตัวแปรหรือค่าคงที่
คำตอบยาว: ภาษาส่วนใหญ่เสนอประเภทที่ใกล้กับโดเมนของปัญหาของคุณและแม้ว่าพวกเขาจะไม่พวกเขาอาจมีวิธีที่คุณสามารถกำหนดleftเป็นเอนทิตีที่แตกต่างจากright(ฯลฯ ฯลฯ ) เปลี่ยนเป็นสตริงโดยใช้"left"เป็นเพียงการปรับภาษาและการทำงานที่เป็นประโยชน์ของ IDE เช่นการตรวจสอบข้อผิดพลาด แม้ว่าคุณจะต้องใช้
left = "left";
หรือสิ่งที่เทียบเท่ามันมีข้อดีที่จะใช้สตริงเมื่อคุณอ้างถึงมันในรหัสของคุณ ตัวอย่างเช่น,
if (player.direction == Left)
จะถูกตรวจพบว่าเป็นข้อผิดพลาดในการคอมไพล์เวลา (กรณีที่ดีที่สุด, จาวาและเช่นนั้น) หรือถูกตั้งค่าสถานะโดย IDE ใด ๆ ที่คุ้มค่าบิตเป็นผิด (กรณีที่เลวร้ายที่สุด, พื้นฐานและเช่นนั้น)
นอกจากนี้การมีแนวคิดleftว่าเป็นเอนทิตีที่อ้างอิงได้จะช่วยให้คุณปรับทิศทางใดก็ตามที่คุณตัดสินใจว่าจะไปกับประเภททิศทางนั้น โดยใช้ทิศทางมีความมุ่งมั่นที่จะเป็น"left" หากคุณพบหรือสร้างสิ่งที่เป็นนามธรรมที่ดีกว่าสำหรับชนิดที่คุณต้องไปล่าสัตว์ผ่านร่างกายรหัสทั้งหมดของคุณเปลี่ยนอินสแตนซ์ของทุกString "left"ค่าคงที่หรือตัวแปรจะไม่ต้องการการเปลี่ยนแปลงใด ๆ หากอธิบายรายละเอียด
ประเภทที่คุณต้องการนั้นขึ้นอยู่กับโดเมนของคุณ การวางแผนรหัสของคุณจะทำอย่างไรกับของคุณleft? บางทีคุณอาจต้องการสะท้อนแกน x ของพื้นผิวหรือสไปรต์ที่หันไปทางซ้ายหรือเคลื่อนที่ไปข้างหน้า ถ้าเป็นเช่นนั้นคุณอาจต้องการสร้างleftวัตถุที่มีคุณสมบัติหรือวิธีการที่สะท้อนถึงพฤติกรรมนั้นโดยที่rightวัตถุของคุณมีผลลัพธ์ที่ไม่ทำมิเรอร์ตรงกันข้าม คุณสามารถทำตรรกะนั้นในวัตถุที่แสดงถึงสไปรต์หรือพื้นผิวซึ่งในกรณีนี้คุณจะต้องใช้"left"แทนleftเหตุผลที่ระบุข้างต้น
ใน Java (และอาจเป็นภาษาอื่นที่ฉันยังไม่รู้) enumเป็นทางเลือกที่ดีเพราะใน Java enumมีประโยชน์เช่นเดียวfinal classกับชุดจำนวน จำกัด คุณสามารถกำหนดลักษณะการทำงานได้หากต้องการและคุณสามารถสลับไปใช้คลาสแบบเปิดโดยไม่ต้องเพิ่มความยุ่งยากใด ๆ นอกเหนือจากไฟล์ที่ประกาศenumแต่หลายภาษามองenumว่าเป็นประเภทดั้งเดิมหรือต้องการใช้ไวยากรณ์พิเศษเพื่อใช้งาน สิ่งนั้นรั่วenumไปที่รหัสที่ไม่มีธุรกิจและอาจจำเป็นต้องแก้ไขในภายหลัง ตรวจสอบให้แน่ใจว่าคุณเข้าใจแนวคิดของภาษาenumก่อนที่จะพิจารณาตัวเลือก