4 คะแนน โดย cichol 2024-10-11 | 10 ความคิดเห็น | แชร์ทาง WhatsApp

มีประเด็นคลาสสิกอย่างแท็บกับสเปซอยู่แล้ว แต่ครั้งนี้เป็นคำถามเกี่ยวกับการใส่ช่องว่างครับ

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

// Case A.   
import potato from 'potato';  
import sweetpotato from 'sweetpotato';  
  
const red = 0xff0000;  
const orange = 0xff8000;  
  
// Case B.  
import potato      from 'potato';  
import sweetpotato from 'sweetpotato';  
  
const red    = 0xff0000;  
const orange = 0xff8000;  

ชอบแบบไหนในสองกรณีนี้ ฝากคอมเมนต์กันหน่อยครับ
ที่สำคัญคือผมสงสัยว่าจริง ๆ แล้วสไตล์แบบนี้มีชื่อเรียกเฉพาะไหม

  1. ชอบ A
  2. ชอบ B
  3. ชอบ X แต่ที่บริษัทใช้ Y (...)

10 ความคิดเห็น

 
regentag 2024-10-15

ผมชอบแบบ B และที่บริษัทก็ใช้แบบ B ครับ

 
semjei 2024-10-14

ส่วนใหญ่ชอบแบบ A มากกว่า
แต่บางครั้ง เวลาต้องกำหนดค่าคงที่และตัวแปรมากกว่า 10 บรรทัด ก็จะใช้อยู่บ้างเป็นครั้งคราว

 
dbs0829 2024-10-14

ฉันเลือก A ค่ะ ถ้า B ไม่ได้ถูกกำหนดเป็นคอนเวนชันไว้ เวลาทำงานร่วมกันมันจะไม่ค่อยสะดวกสำหรับฉันน่ะค่ะ

 
sangheon 2024-10-14

ฉันชอบ A มากกว่า

 
ilotoki0804 2024-10-12

คุณชอบสไตล์แบบไหน?

บางครั้งผมก็เห็นโค้ดที่คนอื่นเขียนด้วยแบบ B แล้วทุกครั้งก็รู้สึกประทับใจเพราะมันดูอ่านง่ายมาก แต่ถ้าเขียนด้วย B แล้ว formatter กับ linter จะโวยวายกันหนักมาก เลยแทบไม่เคยเขียนด้วย B เลยสักครั้งเดียว แถมยังขี้เกียจเขียนนิดหน่อยด้วยครับ

 
kayws426 2024-10-12

บางครั้งก็ใช้สไตล์ B แต่จะเขียนโค้ดให้ตรงกับตำแหน่ง tab stop

 
dogtree 2024-10-12

ข้อเสียคือ diff มักลามไปยังบรรทัดอื่นโดยไม่จำเป็น เลยไม่ค่อยชอบเท่าไรครับ
แน่นอนว่าดู diff แบบ ignore white space ก็ได้ แต่คงไปบังคับให้คนทำงานคนอื่นหรือคนรีวิวโค้ดทำแบบนั้นด้วยไม่ได้..

 
kunggom 2024-10-11

ส่วนใหญ่แล้วผมชอบแบบ A มากกว่า

มีอยู่เพียงครั้งเดียวตอนที่ผมเขียนโค้ดแล้วรู้สึกว่ากรณีแบบ B ดีกว่า นั่นคือโค้ดที่ต้องเชื่อมต่อกับ DLL ภายนอก ซึ่งผมใช้วิธีแบบ B เพื่อให้อ่านง่ายขึ้นในส่วนที่กำหนดค่าคงที่ต่าง ๆ สำหรับใช้งานกับ DLL นั้น
แน่นอนว่าอีกเหตุผลที่ทำให้เลือกวิธีแบบ B ได้ก็เพราะโค้ดสำหรับเชื่อมต่อนี้แทบไม่มีอะไรต้องเปลี่ยนแปลง เขียนครั้งเดียวแล้วแทบไม่ได้แตะอีกเลย
ถ้าเป็นโค้ดที่เปลี่ยนบ่อย ผมก็คงจะยึดวิธีแบบ A เป็นหลัก

 
bertcat 2024-10-11

ฉันชอบการจัดเรียงอัตโนมัติด้วย formatter ตามแต่ละภาษา!
(ปกติจะเป็น A แต่เหมือนว่า gofmt ของ Go จะจัดให้เป็น B ครับ)

 
joyfui 2024-10-11

แบบ A!
สไตล์ B ถ้าไม่มี formatter แยกต่างหากจะดูแลจัดการค่อนข้างลำบาก แล้วการจัดแนวก็อาจเพี้ยนได้ขึ้นอยู่กับฟอนต์ด้วย...