ฉันสับสนเกี่ยวกับการเลือกชื่อสำหรับการทำงานของฉันในหลาม บางครั้งหลามในตัวฟังก์ชั่นที่มีความจำเป็นเช่นฟังก์ชั่นและวิธีสตริงprint
find
บางครั้งพวกเขาไม่ได้เช่นlen
ชื่อของมันไม่ได้เป็นความจำเป็นเช่นcalculate_len
ตัวอย่างและไม่ได้เป็นtype
find_type
ฉันสามารถเข้าใจว่าprint
คืนค่าที่เราไม่ได้ใช้ (เช่นNone
) และทำบางสิ่ง (เช่นมันจะแสดงสตริงบนหน้าจอ) ดังนั้นชื่อของมันจึงมีความจำเป็น
แต่len
กลับเป็นค่าที่เราใช้และทำอะไรบางอย่าง (เช่นการคำนวณจำนวนรายการที่มีอยู่ในลำดับหรือการแมป.) และชื่อของมันไม่ได้เป็นความจำเป็น บนมืออื่น ๆ , find
วิธีสตริง (เป็นlen
) ส่งกลับค่าที่เราใช้และไม่บางสิ่งบางอย่างและชื่อของมันคือความจำเป็น
สิ่งที่ทำให้คำถามนี้คือฉันใส่สคริปต์ที่เข้ารหัสและถอดรหัสสตริงโดยใช้ Caesar cipher เพื่อตรวจสอบ ผู้วิจารณ์กล่าวว่า:
เป็นเพียงความรู้สึก: ฟังก์ชั่นทำสิ่งต่างๆ ดังนั้นชื่อที่ดีสำหรับการทำงานเป็นความจำเป็น: ฉันต้องการใช้แทน
rotate_letter
rotated_letter
rotated_letter
ส่งคืนสตริงตัวอักษรเดี่ยวที่แทนตัวอักษรที่หมุนด้วยตัวเลข ผมไม่ทราบว่าสิ่งที่ดีกว่าที่ผมใช้rotated_letter
เป็นมันจะกลับค่าเช่นrandint
ฟังก์ชั่นในโมดูลสุ่มgenerate_randint
ก็เป็นได้
ดังนั้นในกรณีนี้ฉันจะตั้งชื่อฟังก์ชันที่ส่งกลับค่าที่จะใช้อย่างไร ฉันควรจะให้ชื่อมีความจำเป็นหรือเพียงแค่เป็นรูปธรรม ในกรณีอื่น ๆ จะเห็นได้ชัดว่าจะทำอย่างไรเช่นฟังก์ชั่นบูลีนเช่นis_even
และis_palindrome
เราก็ทำให้มันเหมือนคำถามใช่ / ไม่ใช่และฟังก์ชั่นที่เพิ่งทำและคืนค่าที่ไม่ได้ใช้ (เช่นNone
), print
และวิธีรายการsort
.
len
ตัวอย่างเช่นคิดว่าดีกว่า "ความยาว" - คุณจะได้คำอธิบายระดับเมตาของการโต้แย้ง