“ สถานะ” หรือ“ สถานะ”? เมื่อใดที่ชื่อตัวแปรควรมีคำว่า "state" และเมื่อใดที่ชื่อตัวแปรควรมีคำว่า "สถานะ" แทน? [ปิด]


18

การอ่านรหัสและการอภิปรายเกี่ยวกับรหัสฉันมักจะเห็นคำว่า "สถานะ" และ "สถานะ" ใช้แทนกันได้ แต่มีแนวโน้มต่อไปนี้:

  • เมื่อตัวแปรมีค่าไว้เพื่อแสดงว่ามีบางสิ่งอยู่ในสถานะหนึ่งชื่อของตัวแปรนั้นมักจะไม่ประกอบด้วยคำว่า "สถานะ" หรือตัวย่อของตัวแปรนั้น

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

การแยกนั้นเป็นสิ่งที่ดีฉันเดา แต่เมื่อตัวแปรดังกล่าวเป็นจริงและตัวเลือกจะต้องเลือกที่เกี่ยวข้องกับความซับซ้อนในทางที่ผิดของภาษาอังกฤษ (หรือภาษามนุษย์โดยทั่วไป)

อะไรคือรหัสมาตรฐานหรือแบบแผนที่เด่นชัดเมื่อพูดถึงการแก้ปัญหาระหว่างทั้งสอง หรือควรหลีกเลี่ยงหนึ่งในสองอย่างนี้เสมอ?

คำถาม english.stackexchangeนี้เกี่ยวข้องด้วยฉันคิดว่า


2
ดังนั้นความพยายามที่ crowdsourcing นี้ แม้ว่าที่นี่ไม่ใช่สถานที่สำหรับการสำรวจความคิดเห็น
Martijn Pieters

ไม่ได้อยู่ในไซต์ Stack Exchange ใด ๆ ฟอรั่มอาจ?
Martijn Pieters

มันคงจะดีขึ้นอย่างแน่นอน 'การสำรวจ' ในชื่อจะต้องไปด้วย
Martijn Pieters


6
สถานะของคำถามนี้เร็ว ๆ นี้จะถูกปิดแต่มันจะยังคงอยู่ในการใช้งานของรัฐสำหรับบางครั้งหลังจากนั้น
Reactgular

คำตอบ:


17

ฉันชอบคำถามนี้ ต่อไปนี้มาจากหัวของฉัน แต่ฉันคิดว่ามันค่อนข้างเข้ากันดี

  • สถานะถูกใช้เพื่ออธิบายผลลัพธ์ของการดำเนินการ (เช่นสำเร็จ / ล้มเหลว)

  • สถานะที่ ใช้ในการอธิบายขั้นตอนในกระบวนการ (เช่นรอ / ส่ง)


ฉันชอบคำจำกัดความนี้ด้วย:

  • สถานะเป็นสถานะสุดท้าย (ผลลัพธ์)

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

"สถานะปัจจุบันของโครงการนี้คืออะไร" คำตอบควรเป็น "ในการทดสอบ"

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

"สถานะปัจจุบันของโครงการนี้คืออะไร" คำตอบควรเป็น "รอการวิเคราะห์ทางการเงิน"

ดังนั้นฉันคิดว่านี่เป็นสิ่งที่แสดงให้เห็นถึงความสำคัญของรัฐ "ระงับการวิเคราะห์ทางการเงิน" ชัดเจนเน้นความจริงที่ว่าสถานการณ์ปัจจุบันเป็นส่วนหนึ่งของกระบวนการที่ครอบคลุมบางอย่างและยังแนะนำสถานะถัดไป

ฉันจะบอกว่ามันค่อนข้างดี


นี่เป็นคำจำกัดความที่มีประโยชน์ที่สุดสำหรับการเขียนโปรแกรมในความคิดของฉัน ฉันใช้ "สถานะ" เมื่อฉันยินดีที่จะอธิบายโดยทั่วไปว่าการดำเนินการประสบความสำเร็จหรือไม่และ "สถานะ" สำหรับคำอธิบายที่ละเอียดและมีรายละเอียดมากขึ้น
cprcrack

3

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

"สถานะ" มีแนวโน้มที่จะตรงกันข้าม มันมีแนวโน้มที่จะใช้สำหรับสิ่งที่เกิดขึ้นโดยไม่มีการป้อนข้อมูลของโปรแกรมเมอร์ - และบ่อยครั้งที่โปรแกรมเมอร์ไม่สามารถเปลี่ยนแปลงได้ นอกจากนี้ยังมีแนวโน้มที่จะใช้สำหรับสถานะเชิงลบ "สถานะการเชื่อมต่อของคุณคือ (กำลังตรวจสอบ ... ) ตัดการเชื่อมต่อ"


1

"State" ทำให้ฉันคิดว่า "state machine" และฉันมักจะใช้เพื่ออ้างถึงบางสิ่งภายใน / ด้านเทคนิคเช่น "open", "parsing header", "รูปแบบการเจรจาต่อรอง", "อ่านข้อความ", "อ่านวิดีโอ" ฯลฯ สิ่งที่โปรแกรมเมอร์เพื่อนอาจสนใจ แต่ไม่ได้ตั้งใจ (มาก) สำหรับผู้ใช้ บางทีถ้าพวกเขาขอรายละเอียดเพิ่มเติมเกี่ยวกับข้อผิดพลาด แต่ไม่ใช่สิ่งแรกที่พวกเขาเห็น

"สถานะ" นั้นเป็นเทคโนโลยีน้อยกว่าและสำหรับผู้ใช้เช่น "การอ่าน", "ข้อผิดพลาด 404", "ความสำเร็จ 200"

IMHO ทั้งหมด

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.