คำแนะนำสำหรับการเข้าร่วมโดยนัยกับการเข้าร่วมสายอย่างชัดเจน


9

ฉันต้องการทราบคำแนะนำเกี่ยวกับImplicit Line JoiningกับExplicit Line Joiningใน Python

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

ฉันมีคำตอบสำหรับคำถามนี้ที่สะท้อนอคติของฉันเอง แต่ก่อนที่ฉันจะโพสต์คำตอบของฉันฉันอยากจะรู้ว่าคนอื่นคิดอย่างไร ... และถ้าคุณมีเกณฑ์ที่ดีกว่าที่ฉันคิดไว้ แน่นอนฉันจะยอมรับคำตอบของคุณเอง

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

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

นี่คือตัวอย่างง่าย ๆ :

join_type = "explicit"
a = "%s line joining" \
    % (join_type)
# versus
join_type = "implicit"
b = ("%s line joining"
     % (join_type))

คำถามแนวปฏิบัติที่ดีที่สุดอยู่นอกหัวข้อสำหรับการตรวจสอบโค้ด ฉันได้ย้ายคำถามของคุณไปยังสถานที่ที่ดีขึ้นแล้ว
Winston Ewert

1
@ Winston ก่อนอื่นโพสต์ฉันดูดีที่คำถามที่ถามบ่อยเกี่ยวกับCodeReviewและคำถามที่ถามบ่อยเกี่ยวกับโปรแกรมเมอร์และฉันเลือก CodeReview เพราะมันชัดเจนบอกว่าคำถามประเภทต่างๆที่ถามมี ได้แก่ "แนวทางปฏิบัติที่ดีที่สุด ฉันรวมเวอร์ชันของโค้ดที่เป็นปัญหาอย่างง่ายแล้วสิ่งนี้จะอยู่นอกหัวข้อได้อย่างไร
aculich

@ WinstonEwert ฉันได้โพสต์คำถามในMetaเกี่ยวกับการชี้แจงคำถามที่พบบ่อยเกี่ยวกับCodeReviewหากคุณสนใจที่จะแสดงความคิดเห็นเกี่ยวกับเรื่องนี้ที่นั่น
aculich

คำตอบ:


8

มีเอกสารสไตล์การเข้ารหัสที่เรียกว่า PEP8 แนะนำให้ต่อต้านการใช้งาน\<NL>ทุกที่ที่สามารถใช้วงเล็บได้

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

ข้อความแบบเต็ม: http://www.python.org/dev/peps/pep-0008/ (เค้าโครงรหัสส่วน)

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


1

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


0

ปัจจุบันฉันต้องการ

join_type = "kiding"
a = "%s line joining" % (join_type)

B-))

.

ฉันมักจะชอบเข้าร่วม Explicit Lines เพราะฉันไม่ชอบความยุ่งเหยิงของ parens เมื่อสิ้นสุดการแสดงออก
แต่ฉันชอบ Implicit Lines Joining เพื่อลดความกว้างของการเขียนสตริง
จากนั้นในบางกรณีฉันอายที่จะไม่ผสมทั้งสองวิธี


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

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