เหตุใดฉันจึงควรเขียนข้อความยืนยัน?


18

เหตุใดฉันจึงควรเขียนข้อความยืนยัน? ฉันไม่ต้องการและฉันคิดว่ามันโง่ทุกครั้ง

ส่วนหน้า GUI ฉันใช้ซึ่งจะบังคับให้คุณทำมัน ฉันได้ยินคนอื่นทำทุกครั้งแม้ว่าพวกเขาจะใช้ VCS ในบรรทัดคำสั่ง

หากฉันส่งมอบวันละหลายครั้ง แต่ยังไม่เสร็จฉันจะเขียนเกี่ยวกับคุณสมบัติอะไร? ฉันเคยเขียนข้อความหลังจากหลายคนยอมรับและฉันรู้สึกว่าถึงเวลาสำหรับมินิแท็กหรือเมื่อฉันทำแท็กจริง

ฉันถูกหรือว่าฉันทำอะไรหายไป? ฉันยังใช้ระบบกระจาย


1
อย่ากังวลเพียงแค่พูดว่า "blah" ในบรรทัดความคิดเห็น ตราบใดที่คุณไม่เคยแชร์รหัสกับคนอื่นและตราบใดที่ไม่มีใครจะทำงานกับมันและตราบใดที่คุณไม่จำเป็นต้องย้อนกลับรหัสและตราบใดที่คุณไม่เคยทำผิดรหัสเดียวและ ... รอสักครู่ทำไมคุณถึงใช้การควบคุมเวอร์ชันอีกครั้ง?
Michael Durrant

คำตอบ:


24

สำหรับทุกคนที่พูดว่า "กระทำเมื่อคุณมีข้อความที่มีประโยชน์และมีความคิดที่ดีที่จะเขียนและเมื่อคุณสมบัติของคุณเสร็จสมบูรณ์ 100% และคุณมีการทดสอบหน่วยสำหรับมัน" ฉันพูดว่า: คุณยังอยู่ในความคิด SVN .

หากคุณกำลังใช้ คอมไพล์นี่คือสิ่งที่ฉันจะเรียกว่าเวิร์กโฟลว์อัจฉริยะ:

  1. กระทำได้บ่อยเท่าที่คุณต้องการ เขียนข้อความด่วนเก่า ๆ ไม่มีใครเห็นมันเลย
  2. หลังจากพูดไปแล้ว 10 คำตอบคุณได้ทำฟีเจอร์นั้นเสร็จแล้ว ตอนนี้เขียนแบบทดสอบและทำแบบทดสอบเหล่านั้น หรืออะไรก็ได้ที่คุณต้องการ ถ้าคุณชอบ TDD เขียนการทดสอบก่อนฉันไม่สนใจและไม่คอมไพล์
  3. git rebase -i จาก 'ยุ่ง' ครั้งแรกที่มอบหมายให้คุณเพิ่มและแก้ไขประวัติท้องถิ่นของคุณโดยการแบนการแก้ไขการละเว้นและการล้างประวัติล่าสุดของคุณเป็น ตรรกะกระทำทำความสะอาดด้วยข้อความที่ดี
  4. หลังจากล้างข้อมูลให้ขอให้คนอื่นดึงคุณ
  5. ล้างและทำซ้ำ

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

นอกจากนี้โปรดทราบว่าที่ใดก็ได้ระหว่างขั้นตอนที่ 1 และ 3 คุณสามารถgit pushเปลี่ยนแปลงมิเรอร์ repo ส่วนตัวของคุณเองบนเซิร์ฟเวอร์เพื่อรับการสำรองข้อมูลฟรีหากฮาร์ดดิสก์แล็ปท็อปของคุณตาย


คำตอบที่ดีฉันชอบมัน ฉันกลัวที่จะใช้ rebase นี่คือบทความเกี่ยวกับความผิดพลาดและวิธีการกู้คืนbluemangolearning.com/blog/2009/03/ …

@acid หากคุณกำลังรีบูตการเปลี่ยนแปลงส่วนตัวของคุณเองไม่ควรมีข้อขัดแย้งใด ๆ นอกจากนี้คุณต้องพยายามอย่างหนักที่จะสูญเสียอะไรในคอมไพล์
Alex Budovski

4
ขั้นตอนการทำงานของฉันหินคอมไพล์
Nazgob

1
@ Boris: เพราะเขากำลังพูดถึง git อย่างชัดเจนซึ่งไม่ถูกโค่นล้มอย่างแน่นอน

3
มันไม่ควรจะเป็นงานสำคัญที่จะเขียนประโยคที่ระบุสิ่งที่คุณเพิ่งทำและการทำลายประวัติศาสตร์ด้วยการปฏิเสธนั้นดูน่ารังเกียจ สมมติว่าคุณแนะนำข้อผิดพลาดในวันที่ 5 ในสิบข้อตกลงที่ยังไม่ถูกจับจนกว่าจะถึงสัปดาห์ต่อมา ความสามารถในการปักหมุดลงไปที่การมอบคำสั่งเล็ก ๆ จะช่วยคุณได้มาก
Gort the Robot

55

เพราะเมื่อผู้ดูแลที่ยากจนบางคนกำลังตามล่าหาบั๊กและพบว่ามันถูกเพิ่มเข้ามาในรอบ xyz เขาจะต้องการรู้ว่า rev xyz ควรจะทำ


38
ถ้าอย่างนั้นเขาก็สามารถอ่านปาเก็ตตี้ 5,000 เส้นที่ฉันเพิ่งเช็คอิน JEESH !!! บางคนขี้เกียจ!
Edward Strange

9
เพราะเมื่อผู้ดูดที่ยากจนมาหลังจากคุณ (ในเวลา 3 ปี) และดูประวัติแล้วก็ไป ... WTF .. WTF .. WTF เขาอย่างน้อยก็จะมีความคิดว่าเกิดอะไรขึ้น คุณสามารถเพิ่มความคิดเห็นเช่น "การตรวจสอบตามปกติ, คุณสมบัติ X, ไม่สมบูรณ์"
quick_now

3
@ acidzombie24: เพราะความมุ่งมั่นทุกอย่างควรบอกว่ามันคืออะไร - แม้ว่ามันจะเป็น "การพิมพ์ผิดที่ถูกแก้ไขใน .... " ไม่มีจุดใดในประวัติศาสตร์การแก้ไขเว้นแต่คุณจะรู้ว่าการแก้ไขนั้นมีไว้สำหรับอะไร
Orbling

11
@quickly_now ผู้ดูดที่น่าสงสารอาจเป็นตัวคุณเอง น่าเสียดายที่นี่เป็นหนึ่งในสิ่งที่คุณต้องสัมผัสด้วยตัวเองเพื่อชื่นชมมันอย่างเต็มที่

2
@acidzombie - ทำไมคุณถึงตรวจสอบในการเปลี่ยนแปลงที่ไม่สมบูรณ์ ??
Edward Strange

35

คุณแสดงความคิดเห็นซอร์สโค้ดใช่ไหม

คุณเขียนแสดงความคิดเห็นที่ดีที่สุดของผู้ที่บอกว่าทำไมเป็นรหัสเพียงพูดว่า ?

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

สำหรับซอฟต์แวร์ที่มีการใช้งานใด ๆ ความคิดเห็นเฉพาะนี้จะปรากฏขึ้นในลักษณะดังนี้

gitk - ตัวอย่างทั้งหมด

(ดูได้ที่http://longair.net/blog/2009/04/25/a-few-git-tips/ ) สิ่งนี้จะช่วยให้สามารถมองเห็นมุมมองนกของผู้ที่ทำงานกับซอฟต์แวร์เมื่อใดและสิ่งที่พวกเขาทำ

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


2
@acidzombie ฉันพูดได้แค่คอมไพล์เท่านั้น แต่คุณสามารถทำขั้นตอนเล็ก ๆ ในพื้นที่จากนั้นจัดกลุ่มพวกเขาทั้งหมดเข้าด้วยกันในคอมมิชชันเดียวเมื่อผลักดันอัปสตรีม ที่กระทำข้อความนั้นจะสามารถสื่อความหมาย

2
@acidzombie ทำไมคุณถึงส่งมอบหากคุณยังไม่ได้ทำการเปลี่ยนแปลงเพื่อรับประกันความคิดเห็น? กรุณาอธิบาย.

2
@Thor: เนื่องจากการควบคุมเวอร์ชันป้องกันรหัสของคุณจากการสูญเสียและแม้แต่รหัสที่ทำเสร็จแล้วก็ควรได้รับการป้องกัน
Ben Voigt

1
@Ben มุ่งมั่นในการจัดเก็บข้อมูลระยะยาวและควรสะท้อนถึง "ชิ้นงาน" อย่างถูกต้อง การป้องกันการสูญเสียอยู่ในความคิดของฉันตั้งฉากกับการควบคุมเวอร์ชันและควรได้รับการจัดการโดยระบบสำรองข้อมูลที่เหมาะสม ฉันพบ Time Machine สำหรับ Mac เป็นอย่างดีเหมาะสำหรับวัตถุประสงค์นี้ - ฉันหวังว่าระบบที่คล้ายกันจะพร้อมใช้งานสำหรับ Windows

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

15

หากข้อความการส่งข้อความดูเหมือนโง่สำหรับคุณดูเหมือนว่าคุณกำลังทำผิด

ควรทำข้อตกลงด้วยเหตุผลที่ดี - พวกเขาควรเกี่ยวข้องกับงานที่คุณแยกย่อยสำหรับคุณลักษณะที่คุณกำลังทำอยู่ ไม่ว่างานเหล่านั้นจะเป็นทางการหรือเป็นเพียงในใจของคุณการเปลี่ยนแปลงแต่ละครั้งที่คุณกระทำควรจะทำให้งานเสร็จสมบูรณ์ไม่มากก็น้อย

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

  • refactored คลาสผู้ใช้สำหรับการห่อหุ้มที่ดีขึ้น
  • API stubs ที่สร้างขึ้นเพื่อให้สามารถใช้อินเตอร์เฟสในคลาสคอนโทรลเลอร์ได้
  • แปลงคลาสฐานข้อมูลเป็นคลาส abstract เพื่อให้สามารถใช้ฐานข้อมูลจำลองในกรณีทดสอบ

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


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

1
@Karl: IIRC linus ในคอมไพล์ของเขา google พูดว่าโดยเฉลี่ย 6 คอมมิทเสร็จแล้วต่อวัน ตอนนี้ฉันไม่รู้ว่าจะพิจารณามากแค่ไหน แต่ในโครงการนี้ตอนนี้ฉันมุ่งมั่นเมื่อฉันได้รับการสะท้อนการทำงาน (ฉันวนข้อมูลที่ถูกต้องฉันไม่ได้ทำอะไรกับมัน) หลังจากที่ฉันสร้างอินเตอร์เฟส และตอนนี้ฉันกำลังทำงานเพื่อให้การทำให้เป็นอนุกรมทำงานได้แม้ว่าฉันจะมีส่วนต่อประสานที่ 2 ชั่วโมงที่ผ่านมา ฉันจะยอมรับและพูดว่า 'การสะท้อนพื้นฐาน' ครั้งเดียวที่ใช้งานได้ แต่ในสามข้อแรกทำไมฉันถึงแสดงความคิดเห็นได้เมื่อฉันสามารถเห็นได้อย่างง่ายดายว่าคุณลักษณะใดที่ 'ทำงาน' ทุก ๆ

ที่จริงฉันอาจระงับจนกว่าฉันจะได้รับการทดสอบขั้นพื้นฐานเพราะถ้าอย่างอื่นถ้าฉันแสดงความคิดเห็นทุกคนกระทำฉันจะรู้ว่าสิ่งเหล่านี้มีการสะท้อนที่มั่นคง? 'พื้นฐานการสะท้อน', 'การสะท้อนแบบอนุกรม' 'การทดสอบการสะท้อนแบบอนุกรม' การสมมติว่าการจัดลำดับเป็นสิ่งที่ควรจะเป็นอันดับ 2 หรืออันดับ 3 การทดสอบอาจหมายถึงการทดสอบหน่วยหรือการทดสอบอาจหมายถึงการทดสอบหากการทำงานกับคลาสพื้นฐานที่ฉันต้องการ ฉันแค่คิดว่าการให้ความเห็นนั้นสมเหตุสมผลเมื่อฉันสามารถพูดว่า 'การสะท้อนพื้นฐานการทำงาน' แทนที่จะคิดว่าสิ่งเหล่านี้จริง ๆ แล้วหมายถึงพื้นฐานการทำงาน นอกจากนี้ยังง่ายต่อการอ่าน / อ่านเมื่อมีน้อยลงในการอ่าน

@acid จุดประสงค์ทั้งหมดของการคอมมิชชันคือการสามารถย้อนกลับไปใช้มันหรือเปรียบเทียบการเปลี่ยนแปลงกับมันได้ หากคุณจำเป็นต้องทำเช่นนั้นกับการกระทำก่อนหน้าของคุณคุณจะรู้ได้อย่างไรว่าจะเลือกอันไหน คุณไม่ต้องเขียนนิยายที่นี่ "การทำงานของอินเทอร์เฟซ" "การทำงานเป็นอันดับ" และ "การสะท้อนการทำงาน" นั้นดีในความคิดของฉัน จำนวนการคอมมิตสูงสุดต่อวันไม่คงที่ แต่ถ้าข้อความของคุณอ่านเช่น "ทำงานบนอินเทอร์เฟซ" "ทำงานบนอินเทอร์เฟซเพิ่มเติม" "อินเทอร์เฟซเกือบเสร็จ" คุณก็กระทำบ่อยเกินไปและควรใช้ ดัชนี
Karl Bielefeldt

@Karl: ดัชนี btw คืออะไร? ฉันรู้ว่าคอมไพล์มีที่ซ่อน แต่ฉันไม่คิดว่าคุณพูดถึงเรื่องนี้ มันทำอะไร?

12

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

อย่าทำเรื่องใหญ่ออกมาจากพวกเขา ซื่อสัตย์:

  • "เอนทิตีดัชนีพิเศษแก้ไข Daos และ UIs เพื่อจัดการฟีเจอร์ X"
  • "การเช็คอินที่เพิ่มขึ้นสำหรับคำขอคุณสมบัติ # 1234 และข้อผิดพลาด # 5678"
  • "ฉันทำลายงานสร้างครั้งล่าสุดนี่คือไฟล์ที่ฉันพลาด"

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


2
+1 สำหรับแนวคิดในการทำให้มันสั้น สั้นและเรียบง่ายและดีพอสมบูรณ์ดี
quick_now

1
IMHO แนวทางที่ดียิ่งขึ้นจะเป็นสูตร "สั้นที่สุดเท่าที่จะเป็นไปได้ตราบใดที่จำเป็น"; เนื่องจากบางครั้งมันเป็นไปไม่ได้ที่จะทำให้มันสั้นโดยไม่ต้องเสียสละข้อมูลที่จำเป็น
hvr

11

จะลดจำนวน WTF / นาที;)

ป้อนคำอธิบายรูปภาพที่นี่

ซึ่งแปลเป็นทีมที่มีความสุขมากขึ้น (ซึ่งไม่ได้เกลียดคุณ) และผลผลิตของทีมที่ดีกว่าอาจมีราคาต่ำกว่า


4
ฉันจะลงคะแนนนี้ถ้าคุณอธิบายว่าทำไมเรื่องนี้ถึงเป็นจริง
SingleNegationElimination

@TokenMacGuy - ขออภัยฉันไม่ได้ติดตาม
โกง

1
วิธีการส่งข้อความที่แสดงออกลด WTFs / นาที (แน่นอน)
SingleNegationElimination

@ TokenMacGuy - ฉันคิดว่ามันชัดเจน
โกง

9

ดังนั้นส่วนที่เหลือของทีมของคุณรู้ว่า WTF คุณกำลังตรวจสอบการเปลี่ยนแปลงในแผนผังโครงการ


7
ฉันเพิ่มข้อความยืนยันสำหรับโครงการของฉันเมื่อฉันเป็นนักพัฒนาเท่านั้น! เพราะเมื่อฉันกลับมาอีก 2 ปีเพื่อดูสิ่งนี้ฉันต้องการทราบ WTF ที่ฉันทำในเวลานั้น ฉันรู้ดีอย่างสมบูรณ์แบบว่า 99% ของเวลานี้จะไม่ถูกมอง 1% ของเวลาที่จะช่วยฉัน 2 สัปดาห์แห่งความทุกข์ทรมานและฉันคิดว่าราคาของการส่งข้อความ 10 วินาทีนั้นมีค่าคุ้มกับผลประโยชน์ระยะยาว
quick_now

@quickly_now ความทุกข์ทรมานยัง? เป็นรหัสของคุณที่ไม่ดี?

1
@quickly_now: แก้ไขให้ดี ในช่องว่างของปีหรือสองปีมีรหัสมากมายออกมาจากฉันสิ่งที่ทุกบิตสุดท้ายควรจะทำในเดือนต่อมาพระเจ้าเท่านั้นที่รู้ พระเจ้าและประวัติการแก้ไขของฉัน
Orbling

โอ้ใช่. ฉันก็เห็นด้วย ฉันคิดว่ามันเป็นประสบการณ์ == ความอ่อนน้อมถ่อมตน
Michael Durrant

8

เพราะถ้าคุณไม่ฝึกป้อนข้อความยืนยันที่เหมาะสมคุณจะจบลงเหมือนเพื่อนร่วมงานของฉันที่ป้อนข้อความเช่น

no changes

หรือ

testing

สำหรับคอมมิทที่มีไฟล์มากกว่าร้อยไฟล์ที่ถูกเปลี่ยน (ไม่มีการล้อเล่นที่นี่ !!)

หากคุณเป็นนักพัฒนาซอฟต์แวร์คุณจะดูโง่ในสายตาของคนทั่วโลกไม่ว่าคุณจะคิดว่าโง่แค่ไหนก็แค่ใส่ข้อความ


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

2
โอ้ฉันได้ทำงานกับคนประเภทนี้ ไดรฟ์ฉันถั่ว
sevenseacat

4

ทำไมคุณถึงต้องกระทำหากการเปลี่ยนแปลงนั้นไม่มีความหมาย?

เพียงแค่ทำการเปลี่ยนแปลงที่มีความหมาย เช่นฉันทำการรีเฟรชครั้งใหญ่ในสัปดาห์ก่อนซึ่งใช้เวลาประมาณ 3 วัน ฉันจะมีภาระผูกพันมากมายในช่วงเวลานั้น บางคนมีการเปลี่ยนแปลงเล็กน้อย ('เปลี่ยนชื่อคลาส X เป็น Y เพื่อสะท้อนความรับผิดชอบใหม่' หรือ 'ย้ายวิธีการ Z () เป็นคลาส Q') และอื่น ๆ มีขนาดใหญ่มาก เมื่อฉันทำฟีเจอร์ / การรีแฟคเตอร์เสร็จฉันจะตรวจสอบว่าคอมมิชชันบางอย่างนั้นถูกแบนหรือไม่ (อย่างน้อยคอมไพล์จะสนับสนุนสิ่งนั้นไม่ทราบเกี่ยวกับเครื่องมืออื่น ๆ ) แต่โดยปกติฉันจะทิ้งมันไว้

ฉันเดาว่าคุณจะไม่กระทำในระหว่างการแก้ไขบรรทัดดังนั้นควรมีความหมาย เพียงอธิบายสิ่งที่คุณทำตั้งแต่การกระทำครั้งสุดท้าย


3

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

แต่น่าเสียดายที่หมายเลขการแก้ไขไม่ได้บอกคุณเมื่อคุณเปลี่ยน X หรือ Y ดังนั้นตัวเลือกของคุณอาจอ่านรหัสทั้งหมดที่กระทำในช่วง N วันที่ผ่านมาหรือเพียงแค่อ่านข้อความการส่งโดยละเอียดที่คุณเขียน (อ่านได้ง่ายกว่ารหัส)

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

ดังนั้นพยายามเขียนข้อความการส่งข้อความที่มีความหมายทุกครั้งที่คุณส่งซึ่งสามารถช่วยคุณและผู้ดูแลได้เช่นกัน


ทำไมฉันถึงต้องทำสิ่งนี้ในทุก ๆ การกระทำแทนที่จะเป็นในตอนท้ายของวันทุก ๆ วันหรือเมื่อฉันทำคุณสมบัติเสร็จ?

1
ทำไมคุณถึงทำอย่างนั้นบ่อย ๆ ถ้ามันไม่มีเหตุผล "เป็นธรรมชาติ"

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

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

@ Thorbjørn: ทำไมฉันจะไม่ยอมรับการเปลี่ยนแปลงฉันไม่ต้องการที่จะทำซ้ำ?

3

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

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

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


3

คุณกำลังพลาดอะไรอยู่ ต้องมีมีเหตุผลสำหรับการดำเนินการกระทำมิฉะนั้นคุณจะไม่ได้ทำมัน

สิ่งที่คุณต้องทำในการแสดงความคิดเห็นคือการใส่เหตุผลลงในคำแม้ว่ามันจะเป็นเพียง wip: adding new state objects


อย่างแน่นอน แม้ว่า (ตามที่กล่าวไว้ก่อนหน้านี้) เป็นเพียงโค้ดที่คุณไม่ต้องการทำซ้ำอย่างชัดเจนมันหมายถึงบางสิ่งบางอย่างดังนั้นจึงไม่ยากที่จะเขียนบทสรุปที่รวดเร็วเป็นพิเศษ
sevenseacat

2

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

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

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


2

คิดว่ามันมีเหตุผลเป็นเวลาหนึ่งนาที เมื่อคุณกระทำสิ่งนั้นก็หมายถึงบางสิ่งที่ทำ หากคุณไม่ฝากข้อความคนอื่นจะรู้ได้อย่างไรว่าทำอะไรลงไป


เมื่อมองดูโค้ดที่ชัดเจนอย่างไม่น่าเชื่อของฉันพวกเขาจะรู้ได้ทันทีทุกอย่างที่ทำได้และการทดสอบที่น่าอัศจรรย์ทั้งหมดที่ผ่าน 100% ขออภัยฉันอยู่ในอารมณ์อารมณ์ขันคืนนี้ [ดังนั้นฉันจึงเป็นเด็ก];)
Michael Durrant

1

หากคุณไม่แสดงความคิดเห็นคุณอาจถูกล่อลวงให้แสดงความคิดเห็นการเปลี่ยนแปลงในแหล่งที่มา ในเวลาที่สามารถถ่วงแหล่ง


2
ฉันไม่ล่อลวงให้ทำเช่นนั้น

1

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

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


1

เพื่อให้ผู้ดูแลรหัสนั้นในอีกหนึ่งปีต่อมารู้ว่าใครจะตามล่าหารหัสที่ชั่วร้ายนั้น :)


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