มี บริษัท ที่จริงจังที่ไม่ใช้การควบคุมเวอร์ชันและการรวมอย่างต่อเนื่องหรือไม่? ทำไม?


17

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

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


3
นักแสดงซอฟต์แวร์ที่น่ารำคาญ
การแข่งขัน Lightness กับโมนิก้า

1
นักแสดงซอฟต์แวร์แตกต่างจากนักพัฒนาซอฟต์แวร์อย่างไร
Aditya P

"ฉันไม่ใช่ซอฟต์แวร์ แต่ฉันเล่นบนทีวี !!" - นักแสดงซอฟต์แวร์
FrustratedWithFormsDesigner

1
มี Jayne Seymour เธอเป็นนักแสดงซอฟต์แวร์ที่จริงจัง .... หรืออย่างน้อยเธอก็เล่น Solitare in Live และ Let Die :)
Kevin D

3
ที่ฉันทำงานเมื่อสิบปีที่แล้วเราได้สร้างระบบที่รองรับทุกคืน พวกเขาไม่เคยใกล้ที่จะรวบรวม เคย
David Thornley

คำตอบ:


5

ฉันไม่แน่ใจว่าคุณเรียกพวกเขาว่าเป็นการกระทำที่ร้ายแรง แต่ MySpace ค่อนข้างยากจนในหน้านี้: ดูhttp://highscalability.com/blog/2011/3/25/did-the-microsoft-stack-kill- myspace.html


1
+1 พวกเขาอยู่ในเมเจอร์ลีกอย่างน้อย ฉันไม่คิดว่าเป็นไปได้ บริษัท ขนาดใหญ่ที่ไม่มีการควบคุมเวอร์ชัน ไปคิด
daramarak

บ้า. ฉันจะไม่เชื่อ แต่บล็อกและการอ้างอิงจากบทความนั้นเชื่อถือได้ทั้งหมด
Steve

โทษมันกับสุนัข
JeffO

2
เว็บไซต์สำหรับวัยรุ่นที่เริ่มต้นวงดนตรีในโรงรถเขียนในรูปแบบของรหัสที่ทำงานจากโรงรถของพวกเขา ตัวเลข
quant_dev

13

คุณจะประหลาดใจเมื่อเห็นว่าความจริงสามารถทำอะไรกับสามัญสำนึก ;-)

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

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


11
เป็นไปได้หรือไม่ที่ผู้พัฒนาซอฟต์แวร์โดยเฉลี่ยไม่เคยได้ยินเกี่ยวกับซอฟต์แวร์ควบคุมเวอร์ชัน? บริษัท เหล่านี้จ้างคนจากที่ไหน ด้านมืดของดวงจันทร์?
daramarak

7
@daramarak: นักพัฒนาซอฟต์แวร์ (ถ้าไม่ใช่มากที่สุด) ไม่อ่านหนังสืออย่าท่องบล็อกการพัฒนาและไม่สื่อสารกับนักพัฒนาคนอื่น ๆ (นอก บริษัท ของพวกเขา) เลย หากคุณได้รับการพัฒนาโดยการสอนตัวเองกับหนึ่งในหนังสือ "เรียนรู้พื้นฐานด้านภาพใน 21 วัน" คุณไม่น่าจะได้ยินเกี่ยวกับการควบคุมเวอร์ชัน อันที่จริงฉันจำไม่ได้ว่าเรียนรู้เกี่ยวกับการควบคุมเวอร์ชันที่มหาวิทยาลัยเมื่อ 10 ปีที่แล้ว
Joeri Sebrechts

@ Joeri - ไม่จริงขอบคุณที่ฉันทำงาน แต่ฉันเชื่อได้โดยทั่วไป
Steve

@perdian - คุณพูดว่า "มีเพียงไม่กี่ บริษัท " แต่ไม่ได้ให้รายละเอียดใด ๆ ... คุณมีลิงก์ไปยังบทความบล็อกการตั้งชื่อและความอับอายหรือไม่? ฉันไม่ได้บอกผมไม่เชื่อว่าคุณ (ในความเป็นจริงผมไม่เชื่อว่าคุณ) แต่ข้อมูลที่ดีอยู่เสมอ ...
สตีฟ

@ Steve Haigh - ไม่ฉันไม่มีหลักฐาน "ยาก" เลย ฉันเคยเห็น บริษัท ไม่กี่แห่งที่ไม่ได้ใช้การควบคุมเวอร์ชัน CI oder (ซึ่งชื่อฉันจะเก็บไว้กับตัวเองg ) และด้วยการอนุมานเล็กน้อยฉันคิดว่ามี "ออกไป" อีกมากมาย ฉันคิดว่ามันเป็น easiert จำนวนมากที่จะหา บริษัท ที่ทำใช้ CI โดยเพียงแค่มองไปที่รายการการอ้างอิงในหน้าเจนกิ้นส์ยกตัวอย่างเช่น แต่วิธีอื่น ๆ มีไม่มากของคนโฆษณา "เฮ้เราไม่ได้ใช้เทคโนโลยี X" ;-)
perdian

12

ทุก บริษัท ในอุตสาหกรรมของฉัน (ธนาคาร) ใช้การควบคุมเวอร์ชัน แต่ก็เป็นไปได้ที่จะพัฒนาซอฟต์แวร์ได้สำเร็จโดยไม่ต้องมีการควบคุมเวอร์ชัน 20-30 ปีก่อน เราทำอย่างนั้น

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


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

1
@perdian: มีบางสิ่งที่จะได้รับจากการริเริ่มมากมาย ดังนั้นคุณต้องสมดุล CI กับทุกสิ่งทุกอย่าง คุณไม่สามารถอ้างได้ว่า CI ให้ประโยชน์มากกว่าสิ่งอื่นใด คุณต้องวัดต้นทุนโอกาส
RoadWarrior

1
@ SK-logic: RCS ไม่เป็นที่รู้จักอย่างสมบูรณ์ในขณะนั้นในอุตสาหกรรมการธนาคารของสหราชอาณาจักร และเราได้พัฒนาระบบที่มีขนาดใหญ่และแข็งแกร่งโดยไม่มีการควบคุมแหล่งที่มา
RoadWarrior

1
-1: "ทุก บริษัท " นั่นเป็นคำพูดที่กว้างเกินไปที่ผิด ฉันเคยเห็นในปีที่ผ่านมาบาง บริษัท ที่ไม่ได้ใช้เครื่องมือควบคุมเวอร์ชันใด ๆ โดยอาศัยการคัดลอกเวอร์ชันในไดเรกทอรีที่ใช้ร่วมกัน ใช่มันทำให้ฉันร้องไห้ พวกเขาบอกว่า "svn ใช้ยากเกินไป" พระเจ้าช่วย. แต่ฉันก็ยังพบว่ามีบาง บริษัท ที่เป็นเช่นนั้น อย่าพูดเกินจริงไม่ใช่ทุกคนในอุตสาหกรรมจะรู้ว่าระบบควบคุมแหล่งข้อมูลคืออะไรและไม่เรียนรู้อะไรทางออนไลน์และไม่ทราบว่าการรวมระบบแบบต่อเนื่องคืออะไร (ฉันเห็นด้วยนั่นคือนรกยินดีที่จะไม่อยู่ที่นั่นอีกต่อไป)
Klaim

1
@ SK-logic - ... สิ่งที่ RoadWarrior ระบุยกเว้นในอุตสาหกรรมทางทะเล / พลังงานที่นี่ ฉันจะไม่ให้ชื่อ แต่รู้ว่าอย่างน้อยสอง บริษัท ที่มีความโดดเด่นในภาคของพวกเขา (การพัฒนาซอฟต์แวร์พิเศษบางอย่าง) ซึ่งฉันเชื่อว่าไม่เคยใช้ VCS ใด ๆ (ในแง่ของคุณ) พวกเขามีวิธีการแยกรหัสที่ดีจากรหัสงานระหว่างทำ
โกง

7

เพียงแค่ใส่จุดตอบโต้กับคำตอบของ @ RoadWarrior:

ฉันทำงานให้ธนาคาร ฉันใช้เวลา 3 ปีที่ผ่านมาในการนำการควบคุมเวอร์ชันมาใช้และตอนนี้ได้รับการจัดการเพื่อให้ได้รหัสฐานประมาณ 20% ของเรา (ซึ่งค่อนข้างใหญ่เรามีนักพัฒนาประมาณ 20 คนและได้พัฒนาระบบของเรา> 16 ปี)

ผ่านการติดต่อของฉันในอุตสาหกรรม (ธนาคาร) ที่ฉันรู้ตันของสถาบันการเงินอื่น ๆ ที่ไม่ได้มีสิ่งใด ๆ ที่คนมีสติจะเรียกการควบคุมเวอร์ชัน

ใช่อุตสาหกรรมของเรา (การพัฒนาซอฟต์แวร์) เป็นสิ่งที่แย่กว่าคนส่วนใหญ่ที่ต้องการยอมรับ


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

6
การคัดลอกรหัสด้วยตนเองก่อนที่จะแก้ไข เช่น MyProg -> MyProd.old4
Dan McGrath

น่าเศร้าที่การฝึกฝนนี้เป็นเรื่องธรรมดามากกว่าที่คนคิด
Craig T

3

การควบคุมเวอร์ชัน: ในงานแรกของฉัน 25 ปีที่แล้วไม่มีระบบควบคุมเวอร์ชันเช่นนี้ แต่นี่คือ RSX11 บน PDP-11s อย่างไรก็ตามมีการควบคุมคุณภาพในระดับสูงมากพร้อมกับรีวิวอย่างเป็นทางการเกี่ยวกับการออกแบบและรหัส (ซึ่งเป็นในอุตสาหกรรมนิวเคลียร์)

ทุกงานตั้งแต่นั้นใช้ระบบควบคุมเวอร์ชันรวมถึง SCCS, PVCS, clearcase, cvs และ perforce

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

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

ฉันเคยทำงานในที่เดียว (ธนาคารขนาดใหญ่) ซึ่งมี CI สำหรับบางโครงการและเราได้นำระบบ CI ชนิดหนึ่งมาใช้กับโครงการของเราซึ่งทำให้สิ่งต่าง ๆ ง่ายขึ้นมาก แต่ใช้เวลาทำประมาณ 6 เดือน


สำหรับสถานที่ที่มีรหัสดั้งเดิมพวกเขาสร้างระบบอัตโนมัติหรือมีแผนสร้าง / ปรับใช้ด้วยตนเองหรือไม่
daramarak

3

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


3
แน่นอน! ฉันได้ยินคำตอบ (หรือบางทีเราควรเรียกมันว่าข้ออ้างง่อย) "เราไม่ได้ใช้จนถึงตอนนี้และมันใช้งานได้ (อย่างใด) เราไม่ต้องการมัน" มันเป็นความอัปยศที่ผู้คนที่มีความยืดหยุ่นต่อต้านการเปลี่ยนเครื่องมือของพวกเขา
perdian

1
ฉันทนคนแบบนั้นไม่ได้ น่าเศร้าที่เป็น "นักพัฒนา" ประเภทที่ฉันเจอบ่อยเกินไปในอาชีพการงานของฉันและฉันก็ไม่สามารถรับมือกับความไม่รู้ของพวกเขาและมักจะออกจาก บริษัท ที่นักพัฒนาประเภทนั้นเป็นที่แพร่หลาย ด้วยความเสี่ยงที่จะเกิดเสียงที่ไม่เป็นมิตรคนประเภทนี้เป็นมะเร็งในอาชีพนี้
Wayne Molina

2

แม้ว่าตอนนี้ฉันจะเป็นพนักงาน แต่ฉันเคยเป็นเจ้าของกิจการส่วนตัวในฐานะที่ปรึกษาฐานข้อมูล ในช่วงหลายปีที่ผ่านมาฉันอยู่ใน บริษัท ระหว่าง 800 ถึง 1,000 บริษัท ตั้งแต่ระดับ บริษัท แม่และ บริษัท ป๊อปจนถึงระดับ Fortune 100

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

ฉันไม่คิดว่าบริษัทเหล่านี้อยู่ในธุรกิจซอฟต์แวร์ แต่โปรแกรมเมอร์ของพวกเขาแน่นอน


1

เพื่อนร่วมงานของฉันอยู่ภายใต้ความประทับใจว่าแผนกซอฟต์แวร์ของเรามีความก้าวหน้าขั้นสูงเนื่องจากเราใช้ทั้งเซิร์ฟเวอร์การสร้างที่มีการรวมอย่างต่อเนื่องและซอฟต์แวร์ควบคุมเวอร์ชัน

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

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

เหตุผลที่ดีที่สุดที่ฉันได้พบคือ:

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

  2. ผู้จัดการไม่ใช่คนไอทีและที่นี่คือคุณต้องการใช้เงินกับบางสิ่งที่ไม่เคยมีมาก่อน

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


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

1

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

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


1
การรวมอย่างต่อเนื่องควรระบุข้อผิดพลาดเมื่อเกิดขึ้น แม้แต่นักพัฒนาสองคนก็ต้องการสิ่งนั้น
daramarak

1
@daramarak: ไม่ใช่ถ้าวิศวกรสองคนกำลังทำงานอย่างอิสระบนผลิตภัณฑ์แยกต่างหากสองตัวที่ไม่ได้รวมเข้าด้วยกัน
ไบรอัน

1
CI เป็นหนึ่งในสิ่งที่ฉันเต็มใจทำ โดยส่วนตัวฉันชอบที่จะมีมันในงานของฉัน แต่มันจะไม่เกิดขึ้นเร็ว ๆ นี้ เรามีการสร้างอัตโนมัติวันละ 1-2 ครั้งและนั่นก็เพียงพอสำหรับความต้องการของเรา
Michael K

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

1

ฮาคุณคิดว่าคุณก้าวหน้าเพราะคุณมี SCM และระบบ CI ใช่ไหม ให้ฉันบอกคุณว่าเป็นชั่วโมงสมัครเล่นเมื่อมันลงมา

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

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

ฉันทำงานที่ บริษัท ไม่กี่แห่งและฉันไม่สามารถคิดได้ว่าจะไม่มี SCM ในรูปแบบใด บางคนมีความครอบคลุมมากกว่าคนอื่น ๆ แต่ทุกคนมีระบบที่ทำงานได้ดีสำหรับพวกเขาแม้แต่คนที่ใช้ VSS


ฮ่า ๆ ! ลงนาม: มืออาชีพ
deadalnix

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

1

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

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

ฉันเห็นประโยชน์หลายประการที่มาจาก CI แต่ฉันไม่สามารถจินตนาการได้ว่าทำไม บริษัท ใดจะไม่ใช้ซอฟต์แวร์ควบคุมเวอร์ชัน


1

งานสุดท้ายที่ฉันทำงานโดยไม่มีการควบคุมเวอร์ชันคือในปี 2549 (ฉันเป็นนักพัฒนาเว็บ FWIW) บริษัท มีนักพัฒนาประมาณ 2 หรือ 3 คนเท่านั้นก่อนที่จะจ้างฉัน แต่ฉันเป็นคนแรกใน 10 คนที่จ้างนักพัฒนาในเวลาเพียงไม่กี่เดือน หนึ่งในสิ่งแรกที่ฉันทำเมื่อจ้างคือแนะนำการควบคุมเวอร์ชัน (CVS เพราะฉันไม่รู้ว่ามันแย่แค่ไหน!) แต่นักพัฒนาหลายคนที่ได้รับการว่าจ้างหลังจากที่ฉันไม่สามารถทำงานให้พวกเขาได้ สภาพแวดล้อมดังนั้นจึงไม่ได้ใช้ โอ้ฉันพูดถึงว่าพวกเขาไม่ได้มีอินสแตนซ์ของแอปพลิเคชันที่ทำงานอยู่หรือไม่ พวกเขาแฮ็ครหัสบนเซิร์ฟเวอร์ และไม่มีการทดสอบอัตโนมัติแน่นอน ฉันประจบประแจงเมื่อฉันคิดย้อนกลับไป

ก่อนหน้านั้นฉันทำงาน AS / 400 บางโปรแกรมโดยไม่มีการควบคุมเวอร์ชัน ฉันไม่รู้ว่า VCS ที่เหมาะสมสามารถใช้งานได้กับสภาพแวดล้อมนั้นหรือไม่

ตอนนี้ฉันใช้ Git สำหรับโปรเจ็กต์เดี่ยวทั้งหมดของฉันและงานหลายงานสุดท้ายของฉันก็ใช้งานเช่นกัน

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


'CI เป็นเรื่องที่แตกต่าง เป็นเรื่องที่ยอดเยี่ยมมากและฉันขอแนะนำ แต่มันสำคัญน้อยกว่าการควบคุมเวอร์ชันอย่างน้อยสำหรับโครงการขนาดเล็กในภาษาที่ตีความ ' ตกลง CI มีความจำเป็นจริง ๆ เมื่อคุณทำการสร้างบ่อยครั้งและ / หรือการสร้างที่ซับซ้อนและจะเริ่มใช้เวลามากหรือคุณต้องการเรียกใช้ชุดทดสอบหรือคุณต้องการให้เวทีหลายสาขาเป็นต้นถ้าเป็น โปรเจ็กต์ PHP ที่มีนักพัฒนาโหลไม่มีชุดทดสอบและคุณผลักดันการผลิตสัปดาห์ละครั้งคุณอาจต้องการมุ่งเน้นไปที่เวิร์กโฟลว์ QA ที่ดีก่อนที่คุณจะเริ่มกังวลเกี่ยวกับ CI
siliconrockstar

และคุณอาจต้องการมุ่งเน้นไปที่ชุดทดสอบที่ดีก่อนที่คุณจะเริ่มกังวลเกี่ยวกับ QA หรือสิ่งอื่นใด
Marnen Laibow-Koser

อาจเป็นไปได้ในทางทฤษฎี แต่ถ้าคุณใช้ซอฟต์แวร์โอเพนซอร์ซถ้ามันไม่ได้จัดส่งมาพร้อมชุดทดสอบ ฉันไม่เคยทำงานในโครงการ PHP ที่มีความครอบคลุมการทดสอบเต็มรูปแบบ แต่ทุกโครงการที่ฉันทำมีระดับ QA บางระดับ
siliconrockstar

@siliconrockstar ฉันกำลังพูดถึงว่ามีชุดทดสอบที่ดีสำหรับรหัสของคุณเอง การทดสอบระดับที่เหมาะสมสำหรับรหัสห้องสมุดนั้นเป็นอีกเรื่องหนึ่ง
Marnen Laibow-Koser

@siliconrockstar สำหรับสิ่งที่คุ้มค่าโครงการ Rails ส่วนใหญ่ที่ฉันเคยทำมีการทดสอบการพัฒนาที่ยอดเยี่ยม (ข้อยกเว้นกำลังพยายามปรับปรุงอยู่) ไม่ใช่ทุกคนที่มี QA อย่างเป็นทางการ มีความจำเป็นน้อยกว่าที่จะมี QA อย่างเป็นทางการพร้อมการทดสอบที่ดีแม้ว่ามันจะยังเป็นความคิดที่ดีมาก อย่างไรก็ตามการพัฒนาที่ไม่มีการทดสอบนั้นมีความเสี่ยงอย่างไม่น่าเชื่อดังนั้นฉันจึงบอกว่าการปรับปรุงการทดสอบควรจัดลำดับความสำคัญเหนือสิ่งอื่นใด
Marnen Laibow-Koser

0

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

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