คำถามติดแท็ก workflows

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

17
คุณสมดุลระหว่าง“ ทำถูกต้อง” และ“ ทำเร็วที่สุด” ในการทำงานประจำวันของคุณอย่างไร? [ปิด]
ฉันพบว่าตัวเองครุ่นคิดกับคำถามนี้เป็นครั้งคราวอีกครั้งและอีกครั้ง ฉันต้องการทำสิ่งที่ถูกต้องในการเขียนโค้ดที่สะอาดเข้าใจและถูกต้องซึ่งง่ายต่อการบำรุงรักษา อย่างไรก็ตามสิ่งที่ฉันทำคือการเขียนแพทช์ลงบนแพทช์ เพียงเพราะไม่มีเวลาลูกค้ากำลังรอข้อผิดพลาดควรได้รับการแก้ไขในชั่วข้ามคืน บริษัท กำลังสูญเสียเงินในปัญหานี้ผู้จัดการก็กดยาก ฯลฯ ฉันรู้ดีว่าในระยะยาวฉันจะเสียเวลามากขึ้นในการแก้ไข แต่เมื่อถึงเวลาทำงานหลายเดือนไม่มีใครใส่ใจ ในฐานะที่เป็นหนึ่งในผู้จัดการของฉันเคยพูดว่า: "เราไม่ทราบว่าจะมีในระยะยาวถ้าเราไม่แก้ไขในตอนนี้" ฉันแน่ใจว่าฉันไม่ใช่คนเดียวที่ถูกขังอยู่ในวัฏจักรทางเลือกที่เหมาะสมที่สุด ดังนั้นเพื่อนโปรแกรมเมอร์ของฉันจะรับมือกับสิ่งนี้ได้อย่างไร ปรับปรุง: ขอบคุณทุกท่านสำหรับการสนทนาที่น่าสนใจนี้ เป็นเรื่องน่าเศร้าที่ผู้คนจำนวนมากต้องเลือกประจำวันระหว่างปริมาณและคุณภาพของรหัส ยังมีอีกหลายคนที่คิดว่าเป็นไปได้ที่จะชนะการต่อสู้ครั้งนี้ดังนั้นขอขอบคุณทุกท่านที่ให้กำลังใจ

4
ประโยชน์ของกระบวนการคอมมิชชันสองขั้นตอน (การจัดเตรียม) ของคอมไพล์
ฉันเรียนรู้คอมไพล์และฉันสังเกตว่ามันมีกระบวนการทำสองขั้นตอน: git add <files> git commit ขั้นตอนแรกทำการแก้ไขสิ่งที่เรียกว่า "พื้นที่จัดเตรียม" หรือ "ดัชนี" สิ่งที่ฉันสนใจคือเหตุผลที่ทำให้การตัดสินใจออกแบบนี้และประโยชน์ของมันคืออะไร นอกจากนี้ในฐานะผู้ใช้คอมไพล์คุณทำสิ่งนี้หรือแค่ใช้git commit -a? ฉันถามสิ่งนี้เพราะฉันมาจาก bzr (Bazaar) ซึ่งไม่มีคุณสมบัตินี้

16
การควบคุมเวอร์ชันและค่าใช้จ่ายในการติดตามบั๊กต่อการเปลี่ยนแปลงมากเกินไปหรือไม่
ฉันทำงานในสถานที่ที่มี CVS-crazy และ Bugzilla-nuts มีหลายสาขาที่ออกแต่ละรุ่นที่ไม่สามารถนับได้ ทุกคนรวมกันโดยอัตโนมัติอย่างต่อเนื่อง ไม่มีคือความลื่นไหลในงานนี้ ทุกอย่างที่รู้สึกว่าการล็อคขั้นตอน ใช้เวลา 25 ขั้นตอนแม้จะเป็นเรื่องง่าย มันไม่เหมือนอยู่ในสายการผลิตของโรงงาน: มันเหมือนกับการตั้งโรงงานด้วยตัวเองทุกวัน สถานการณ์ตัวอย่าง: ในการแก้ไขข้อบกพร่องครั้งแรกฉันต้องได้รับเครื่องเสมือนใหม่ที่สะอาดและใหม่ จากนั้นฉันก็สร้างสาขาสำหรับการแก้ไขข้อบกพร่องเพียงครั้งเดียวตามสาขาอื่นที่อธิบายไว้ในรายงาน Bugzilla ฉันติดตั้งสาขาบนเครื่องตั้งค่าที่ ฉันแก้ไขข้อผิดพลาด ฉันเช็คอินปล่อยมันและเครื่องให้ผู้อื่นทดสอบด้วย จากนั้นฉันจะต้องเข้าไปในซอฟต์แวร์ควบคุมบั๊กและอธิบายสิ่งที่ฉันทำและเขียนกรณีทดสอบพร้อมทุกขั้นตอน ในที่สุดคนอื่นก็รวมมันกับการเปิดตัว ไม่ว่าข้อผิดพลาดจะเล็กเพียงใดฉันต้องทำทุกสิ่งเหล่านี้ บางครั้งผู้คนรวมกันทำงานกับข้อบกพร่องหลายอย่าง แต่อย่างที่ฉันบอกว่ามีสาขามากมาย ที่งานอื่น ๆ ฉันจะเข้าไปแก้ไขข้อบกพร่อง ผมแทบจะไม่ได้จำใช้ SCM แม้ว่างานที่ฉันได้มีทุกคนได้ใช้มัน: นั่นเป็นเพราะที่งานอื่น ๆ ทุกคนเขาก็เก็บมันออกจากทาง มีจุดที่กระบวนการได้รับในทางและกลายเป็นจุดสิ้นสุดแก่ตัวเอง? นั่นคือวิศวกรรมแม้แต่เหรอ?

5
การบำรุงรักษาซอฟต์แวร์ที่แยกต่างหากสองรุ่นจาก Codebase เดียวกันในการควบคุมเวอร์ชัน
สมมติว่าฉันกำลังเขียนซอฟต์แวร์ / program / app / script รุ่นเดียวกันสองรุ่นและเก็บไว้ภายใต้การควบคุมเวอร์ชัน รุ่นแรกเป็นรุ่น "พื้นฐาน" ฟรีในขณะที่รุ่นที่สองเป็นรุ่น "พรีเมี่ยม" แบบชำระเงินซึ่งใช้รหัสฐานของรุ่นฟรีและขยายออกไปด้วยคุณสมบัติเพิ่มมูลค่าพิเศษ แพทช์แก้ไขหรือฟีเจอร์ใหม่ใด ๆ จำเป็นต้องหาวิธีแก้ไขในทั้งสองเวอร์ชัน ขณะนี้ฉันกำลังพิจารณาใช้masterและdevelopสาขาสำหรับ codebase หลัก (รุ่นฟรี) ด้านข้างmaster-premiumและdevelop-premiumสาขาสำหรับรุ่นที่จำหน่ายได้แล้ว เมื่อมีการเปลี่ยนแปลงในเวอร์ชั่นฟรีและรวมเข้ากับmasterสาขา (หลังจากการทดสอบอย่างละเอียดในdevelopหลักสูตร) ​​มันจะถูกคัดลอกไปยังdevelop-premiumสาขาผ่านcherry-pickคำสั่งสำหรับการทดสอบเพิ่มเติมแล้วรวมเข้าmaster-premiumด้วยกัน นี่เป็นเวิร์กโฟลว์ที่ดีที่สุดในการจัดการกับสถานการณ์นี้หรือไม่ มีปัญหาที่อาจเกิดขึ้นคำเตือนหรือข้อผิดพลาดที่ควรระวังหรือไม่? มีกลยุทธ์การแตกแขนงที่ดีกว่าสิ่งที่ฉันคิดไว้แล้วหรือไม่? ความคิดเห็นของคุณได้รับการชื่นชมอย่างมาก! PS นี่สำหรับสคริปต์ PHP ที่จัดเก็บใน Git แต่คำตอบควรใช้กับภาษาหรือ VCS ใด ๆ

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

6
มีวัตถุประสงค์ในการใช้คำขอดึงบน repo ของฉันเองหรือไม่ถ้าฉันเป็นนักพัฒนาซอฟต์แวร์คนเดียว?
ดังนั้นฉันจึงเริ่มต้นด้วยโครงการจริงของฉันบนGitHubและสิ่งต่าง ๆ ก็ค่อนข้างดีและความคิดก็ไหลเร็วกว่าที่ฉันคิดไว้มาก เพื่อจัดระเบียบสิ่งต่าง ๆ ฉันตั้งค่าบางสาขาเพื่อให้ฉันสามารถพัฒนาคุณสมบัติต่าง ๆ แยกกัน ตอนนี้เมื่อฉันผลักสาขาของฉันไปที่ GitHub ฉันมีส่วนนั้นที่ฉันมีสองปุ่ม: Pull RequestและCompareด้วยชื่อของสาขาที่ฉันเพิ่งผลักไป ฉันเข้าใจถึงวัตถุประสงค์ของCompareปุ่ม แต่ฉันไม่เข้าใจว่าทำไมฉันถึงต้องการสร้างคำขอดึงใน repo ของฉันเอง มีคนอธิบายได้ไหมว่าทำไมฉันถึงทำอย่างนั้น? มันจะมีประโยชน์หรือไม่ที่จะทำการร้องขอ pull บน repo ของฉันเองถ้าฉันเป็นนักพัฒนาซอฟต์แวร์คนเดียว?
38 github  workflows 

9
หากคุณใช้คอมพิวเตอร์หลายเครื่องคุณจะซิงค์ทุกสิ่งอย่างไร [ปิด]
ตอนนี้ฉันมีคอมพิวเตอร์ 4 หรือ 5 เครื่องและฉันต้องการระบบที่ดีกว่าสำหรับการซิงค์ทุกอย่าง ฉันใช้ git และ github เป็นจำนวนมากเพื่อซิงค์ไฟล์ของฉันสำหรับโครงการการเขียนโปรแกรม แต่แล้วก็มีฐานข้อมูล, ไฟล์. bash_profile, สคริปต์ทุบตี ฯลฯ บางครั้งแทนที่จะซิงค์ไฟล์ฉันก็แค่ซิงค์จากคอมพิวเตอร์เครื่องหนึ่งไปยังอีกเครื่องหนึ่ง แต่สิ่งนี้กำลังวุ่นวายอยู่ คอมพิวเตอร์บางเครื่องของฉันเป็น Ubuntu และบางเครื่องเป็น OS X ข้อเสนอแนะใด ๆ สำหรับการจัดการเวิร์กโฟลว์ที่ครอบคลุมคอมพิวเตอร์ส่วนบุคคลหลายเครื่อง

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

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

4
การใช้ Git Stash เป็นเวิร์กโฟลว์เป็น antipattern หรือไม่
ฉันเพิ่งดูว่าฉันและทีมของฉันใช้ Git อย่างไรและเวิร์กโฟลว์ของเราทำงานอย่างไร ขณะนี้เราใช้เวิร์กโฟลว์คุณลักษณะสาขาซึ่งดูเหมือนจะทำงานได้ดี ผมเคยเห็นบางคนยังเกี่ยวกับการใช้ทีมงานของเราขึ้นอยู่กับขั้นตอนการทำงานที่ซ่อนคอมไพล์ เวิร์กโฟลว์มีลักษณะดังนี้: ทำงานในสาขาหลัก (เช่นmaster) มุ่งมั่นที่คุณไป หากคุณต้องการได้รับการเปลี่ยนแปลงหรือสลับสาขาผลักดันการเปลี่ยนแปลงที่ไม่ผูกมัดของคุณไปยังที่เก็บ เมื่ออัปเดตเสร็จแล้วให้ปิดการเปลี่ยนแปลงที่ปรากฏ ฉันควรพูดถึงว่าเวิร์กโฟลว์นี้ใช้แทนเวิร์กโฟลว์สาขาฟีเจอร์ แทนที่จะใช้สาขาและทำงานกับมันนักพัฒนาซอฟต์แวร์ที่นี่จะทำงานในสาขาเดียวและผลัก / ป๊อปออกจากสแต็กตามที่เห็นสมควร ฉันไม่คิดว่านี่เป็นกระบวนการทำงานที่ยอดเยี่ยมและการแยกสาขาจะเหมาะสมกว่าการใช้ git stash ด้วยวิธีนี้ ฉันเห็นคุณค่าของ git stash เป็นการดำเนินการฉุกเฉิน แต่ไม่ใช่สำหรับใช้ในเวิร์กโฟลว์ประจำวันปกติ การใช้ git stash เป็นประจำจะถือว่าเป็นรูปแบบการต่อต้านหรือไม่ ถ้าเป็นเช่นนั้นมีปัญหาอะไรบ้างที่อาจเกิดขึ้นได้ ถ้าไม่ได้รับประโยชน์อะไรบ้าง?

6
TDD และการควบคุมเวอร์ชัน
ฉันกำลังเรียนรู้เกี่ยวกับ TDD และพยายามนำไปใช้ในโครงการส่วนตัวของฉัน ฉันยังใช้การควบคุมเวอร์ชันอย่างกว้างขวางในหลายโครงการเหล่านี้ ฉันสนใจในการทำงานร่วมกันของเครื่องมือทั้งสองนี้ในกระบวนการทำงานทั่วไปโดยเฉพาะอย่างยิ่งเมื่อมันมาถึงจุดสูงสุดเพื่อให้ความมุ่งมั่นเล็ก ๆ นี่คือตัวอย่างบางส่วนที่นึกถึง: ฉันเริ่มต้นโครงการใหม่และเขียนการทดสอบอย่างง่ายเพื่อสร้างคลาสแบบ as-yet-nonexistent ฉันควรจะทำแบบทดสอบก่อนเขียนชั้นแม้ว่าการทดสอบจะไม่ได้รวบรวม หรือฉันควรเริ่มต้นจำนวนขั้นต่ำของรหัสที่จำเป็นสำหรับการทดสอบเพื่อคอมไพล์ก่อนที่จะคอมมิท? ฉันพบข้อบกพร่องและเขียนการทดสอบเพื่อสร้างใหม่ ฉันควรคอมมิชชันทดสอบที่ล้มเหลวหรือใช้การแก้ไขข้อบกพร่องแล้วคอมมิท? เหล่านี้เป็นสองตัวอย่างที่มาถึงใจทันที อย่าลังเลที่จะให้ตัวอย่างเพิ่มเติมในคำตอบของคุณ แก้ไข: ฉันตั้งสมมติฐานในทั้งสองตัวอย่างว่าทันทีหลังจากเขียนการทดสอบฉันจะเขียนโค้ดเพื่อทำการทดสอบ สถานการณ์อื่นอาจเกิดขึ้น: ฉันทำงานในโครงการที่ใช้ TDD เป็นเวลาหลายชั่วโมงโดยไม่ต้องทำอะไร ในที่สุดเมื่อฉันลงมือทำฉันต้องการที่จะเลิกงานของฉันเป็นชิ้นเล็ก ๆ (Git ทำให้สิ่งนี้ค่อนข้างง่ายแม้ว่าคุณต้องการจะยอมรับการเปลี่ยนแปลงบางอย่างในไฟล์เดียว) ซึ่งหมายความว่าคำถามของฉันเป็นเรื่องเกี่ยวกับสิ่งที่จะกระทำตามที่เป็นอยู่เมื่อใดที่จะกระทำ

8
มันจะไม่เป็นประโยชน์ในการเขียนการทดสอบระหว่างการตรวจสอบรหัส?
เพื่อนร่วมงานของฉันเกิดขึ้นกับความคิดที่ฉันพบว่าน่าสนใจ มันจะไม่เป็นประโยชน์ในการเขียนการทดสอบในระหว่างการตรวจสอบโค้ดโดยผู้ที่ทำการตรวจสอบโดยสมมติว่าเราไม่ได้ทำ TDD? สำหรับคำถามนี้สมมติว่านี่เป็นโครงการทางวิชาการล้วนๆไม่มีชีวิตที่จะเสี่ยง ยิ่งกว่านั้นทีมคือ 4 คน ทุกคนรู้ภาษาและคุ้นเคยกับเครื่องมือ / ไลบรารี / กรอบงานทั้งหมดที่ใช้และสามารถเขียนแบบทดสอบได้ โดยทั่วไปแล้วคนที่ไม่ได้เป็นหัวหน้าเต็มสแต็คนำทีมวิศวกรนินจา แต่เป็นนักเขียนโค้ดที่ดี ข้อดีที่ฉันพบ: ส่งเสริมความเข้าใจที่ลึกซึ้งยิ่งขึ้นของรหัสระหว่างการทบทวนเพื่อเขียนการทดสอบที่มีความหมาย จากนั้นคุณสามารถเพิ่มการตรวจสอบโค้ดของการทดสอบเหล่านั้นโดยผู้เขียนโค้ดที่จะทดสอบ ข้อเสียฉันพบ: ข้อเสนอแนะวนซ้ำระหว่างการเขียนโค้ดและการทดสอบเพิ่มขึ้น แก้ไข: ฉันรู้ว่ามันจะไม่ทำงานได้ดีกับเว็บแอปพลิเคชัน "ปกติ" สิ่งที่ฉันมีอยู่ในใจคือกรณีมุมที่คุณใช้อัลกอริทึมทางวิทยาศาสตร์ที่ซับซ้อน สมมติว่ามีบางอย่างเช่นการใช้ไลบรารี่กราฟของตัวเอง NLP ฯลฯ ฉันสงสัยว่ารหัสที่เราเขียนนั้นแยกจากฐานข้อมูลและยากมากที่จะเข้าใจว่าจะไม่เพิ่มระดับการควบคุมอีกคนที่ต้องการเข้าใจแหล่งที่มา โค้ดและทำการทดสอบที่มีความหมายทำให้กระบวนการทั้งหมดมีความเป็นไปได้ที่จะเกิดข้อบกพร่องน้อยลงอย่างเห็นได้ชัดซึ่งไม่ทำให้แอปพลิเคชันเสียหาย แต่ในที่สุดก็ทำให้ผลลัพธ์ของคุณเป็นขยะ

7
ค่าของเครื่องมือเวิร์กโฟลว์คืออะไร? [ปิด]
ปิด คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้มุ่งเน้นที่ปัญหาเดียวโดยแก้ไขโพสต์นี้ ปิดให้บริการใน4 ปีที่แล้ว ฉันยังใหม่ต่อการพัฒนาของ Workflow และฉันไม่คิดว่าฉันจะได้รับ "ภาพรวมขนาดใหญ่" หรือบางทีอาจจะพูดให้แตกต่างกันเครื่องมือเหล่านี้ไม่ได้ "คลิก" ในหัว ดังนั้นดูเหมือนว่า บริษัท ต้องการสร้างแบบธุรกิจเพื่ออธิบายกระบวนการและในบางคนตัดสินใจว่าพวกเขาสามารถใช้เครื่องสถานะเช่นโปรแกรมเพื่อควบคุมกระบวนการจากเส้นและกล่องเช่นไดอะแกรม สิบปีต่อมาเครื่องมือเหล่านี้มีขนาดใหญ่และซับซ้อนมาก (บริษัท ของฉันกำลังเล่นกับ WebSphere และฉันได้เข้าร่วมการฝึกอบรมเป็นสัตว์ประหลาดแม้กระทั่งเครื่องมือเวิร์กโฟลว์รุ่นที่เรียกว่า "minimalist" เช่น Activiti มีขนาดใหญ่และซับซ้อนแม้ว่าจะไม่ซับซ้อนเท่ากับสัตว์ร้ายที่เป็นของ WebSphere) อะไรเป็นประโยชน์อย่างมากในการทำเช่นนี้? ฉันสามารถเข้าใจไดอะแกรมเส้นและกล่องอย่างง่ายที่มีประโยชน์ แต่สิ่งเหล่านี้เท่าที่ฉันสามารถบอกได้ว่าเป็นภาษาการเขียนโปรแกรมแบบเห็นภาพ ณ จุดนี้พร้อมเงื่อนไขและลูป โปรแกรมเมอร์ที่นี่ดูเหมือนจะทำงานเป็นจำนวนมากในไลน์และเลเยอร์กล่องซึ่งสำหรับฉันแล้วดูเหมือนว่าจะเป็นภาษาการเขียนโปรแกรมเชิงภาพขั้นพื้นฐานจริงๆ หากคุณกำลังจะไปที่ไกลทำไมไม่ใช้ภาษาสคริปต์บางอย่าง? มีคนขว้างลูกน้อยออกไปด้วยการอาบน้ำหรือเปล่า? เส้นและกล่องถูกนำไปสู่ระดับที่ไร้สาระหรือฉันแค่ไม่เข้าใจคุณค่าทั้งหมดนี้หรือไม่? ฉันต้องการเห็นข้อโต้แย้งในการป้องกันเรื่องนี้โดยคนที่ทำงานกับเทคโนโลยีนี้และเข้าใจว่าทำไมมันถึงมีประโยชน์ ฉันไม่เห็นคุณค่าของมัน แต่ฉันรู้ว่าฉันใหม่กับสิ่งนี้เช่นกันและอาจยังไม่ได้รับมัน
22 java  workflows  soa  bpm 

1
มารยาทที่เหมาะสมคืออะไรและแนะนำเวิร์กโฟลว์ GitHub สำหรับการมีส่วนร่วมและเบี่ยงเบนไปจาก repo ต้นน้ำพร้อมกันหรือไม่
ฉันใหม่กับ GitHub และ VCS โดยทั่วไป ฉันเขียนโปรแกรมในหลายภาษามาหลายปีแล้ว แต่ฉันก็ทำงานเดี่ยวในโครงการที่กำหนดเอง (ไม่มีการเผยแพร่สาธารณะ) ฉันเพิ่งเริ่มใช้วิดเจ็ต jQuery UI ที่ฉันดาวน์โหลดจาก GitHub ในโครงการที่ฉันกำลังทำงานอยู่ repo ไม่ได้รับการบำรุงรักษาโดยผู้เขียนดั้งเดิมอีกต่อไป ส้อมอื่นได้รวมคำขอดึงต้นฉบับไว้บางส่วน นี่คือสิ่งที่ฉันแยกออกมา ฉันพบข้อผิดพลาดสองสามข้อและเกิดขึ้นกับการแก้ไขสำหรับพวกเขา ฉันต้องการสนับสนุนการแก้ไขเหล่านี้ แต่ฉันยังมีการเปลี่ยนแปลงอื่น ๆ อีกมากมายที่ฉันต้องการสำหรับการใช้งานของเราเองซึ่งจะทำให้คุณสมบัติที่มีอยู่บางส่วนเสียหาย นอกจากนี้ฉันต้องการรวมแนวคิดจากทางแยกอื่น ฉันยังคงเรียนรู้ GIT และ GitHub และฉันพยายามหาวิธีที่ดีที่สุดในการทำทุกสิ่ง ฉันได้อ่านมาก (ที่นี่, SO, GitHub หน้าช่วยเหลือ, Pro Git) เกี่ยวกับแนวคิด / ภารกิจต่าง ๆ : เวิร์กโฟลว์, การรวม, ดึงคำขอ, การเลือกเชอร์รี่, การรีบูต, การแตกแขนง สสารสีเทาของฉันคือว่ายน้ำและฉันต้องเริ่มทำเพื่อให้ฉันสามารถเข้าใจสิ่งที่ฉันได้อ่าน ประเด็นหลัก: ฉันคิดว่าฉันอ่าน …

6
วิธีการพัฒนาเมื่อนักพัฒนาซอฟต์แวร์หลายร้อยคนทำงานบนโซลูชันเดียว?
เราเป็นองค์กรที่ประกอบด้วยนักพัฒนาประมาณ 200 คนที่ทำงานอย่างต่อเนื่องในผลิตภัณฑ์เดียว (ใช้ Git revision control) ซึ่งมีการวางแผนที่จะวางจำหน่ายในวันที่กำหนด เนื่องจากนักพัฒนาจำนวนมากเรากำลังพยายามสร้างทีม "ข้ามหน้าที่" ที่มีนักพัฒนาประมาณ 10 คนในแต่ละทีมส่งผลให้มีทีมพัฒนาประมาณ 20 ทีมในองค์กร เนื่องจากเราต้องการรักษา "มาตรฐานสูง" อย่างต่อเนื่อง (หมายถึงเมื่อนักพัฒนาทำการดึงผลิตภัณฑ์อย่างน้อยควรจะสามารถคอมไพล์ได้ ฯลฯ ) ของผลิตภัณฑ์ในที่เก็บหลักเราจึงต้องการใช้ประตูคุณภาพบางประเภท ฉันไม่แน่ใจว่าจะตอบคำถามได้อย่างไร แต่ฉันสงสัยว่าฉันจะได้รับคำแนะนำเกี่ยวกับวิธีการพัฒนาสำหรับกลุ่มนักพัฒนาขนาดใหญ่เช่นนั้นที่ทำงานกับผลิตภัณฑ์เดียวหรือไม่ ในความเห็นของเราปลายด้านหนึ่งของสเปกตรัมคือการอนุญาตให้นักพัฒนาแต่ละคนส่งโดยตรงไปยังแหล่งเก็บข้อมูลหลักอย่างไรก็ตามเรากลัวว่าเนื่องจากผู้พัฒนาจำนวนมาก / มุ่งมั่นที่ "พื้นที่เก็บข้อมูลหลัก" อาจอยู่ในช่วงที่ขาดเนื่องจาก ถึงเราไม่สามารถมี "ประตูคุณภาพ" สำหรับการกระทำแต่ละอย่างได้ ปลายอีกด้านของสเปกตรัมอาจเป็นเช่นนั้น (เราคิดว่า Linus Torvalds / Linux ทำ) โครงสร้างต้นไม้หรือปิรามิดซึ่ง "คลังเก็บหลัก" มีแหล่งดึงสามแหล่งสามแห่งนี้มีแหล่งดึงที่เชื่อถือได้ ฯลฯ อย่างไรก็ตามเรารู้สึกว่าด้วยโครงสร้างเช่นการเปลี่ยนแปลงนั้นมีสายโซ่ยาวที่จะปีนขึ้นไปเพื่อเข้ามาใน "พื้นที่เก็บข้อมูลหลัก" นอกจากนี้หากเกิดข้อขัดแย้งในการผสานปัญหาจะเกิดกับผู้พัฒนารายอื่นมากกว่า "ผู้พัฒนาดั้งเดิม" จากข้อมูลพื้นฐานและความคิดเห็นทั้งหมดที่ระบุไว้เราจะเรียนรู้และอ่านวิธีการพัฒนาที่แนะนำสำหรับนักพัฒนาจำนวนมากได้อย่างไร องค์กรขนาดใหญ่ (Microsoft, …

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