จะจัดการกับคนที่ไม่ชอบความคิดเห็นเกี่ยวกับโค้ดได้อย่างไร


26

เห็นได้ชัดว่าหากฝ่ายบริหารซื้อใช้เวลากับการตรวจสอบโค้ดแล้วทุกคนต้องทำ

แต่มีคนเหล่านั้น (หรือ gals) ที่ต่อต้านอยู่เสมอทุกออนซ์ของพวกเขา

คุณจะจัดการกับสถานการณ์นี้ได้อย่างมีประสิทธิภาพอย่างไรเมื่อจัดการกับมันในฐานะผู้ตรวจสอบเพื่อน


19
น่าจะเป็นวิธีเดียวกับที่คุณจัดการกับคนที่ไม่เห็นด้วยกับรายการอื่น ๆ เช่นการแต่งกายตรงเวลาวันลาป่วย ฯลฯ
จอชเค

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

3
สุจริต: บอกให้พวกเขาปิดและทำมัน มันเป็นสิ่งที่ดีสำหรับตัวเอง
Steven Evers

1
ขัดขืนอะไร ให้คุณเห็นรหัสของพวกเขาหรือพวกเขามองคุณ? พวกเขาอาจหลีกเลี่ยงความขัดแย้งพวกเขาคาดหวังความขัดแย้งได้หรือไม่? คุณรู้ไหมว่าทำไมพวกเขาถึงลังเล
Martin Maat

คำตอบ:


46

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

เพื่อหลีกเลี่ยงพฤติกรรมดังกล่าวคุณจะต้องมีจิตวิทยา คุณต้องพิสูจน์ให้สมองของจิ้งจกของเขารู้ว่ามันจะไม่เกิดขึ้น (เขาจะไม่ถูกตัดสินต่ำต้อยถูกฆ่าตายอะไร ... ) โดยdesensitizingให้เขาวิจารณ์โค้ด

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

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


3
คุณอาจต้องการเพิ่มคำจำกัดความของ "lizard brain" สำหรับคนที่ไม่คุ้นเคย
อดัมเลียร์

@Anna: ฉันเพิ่งเพิ่มลิงค์ไปยังคำจำกัดความ

คำตอบที่น่ากลัวปิแอร์! โหวตให้แล้วแทนคำตอบสุดท้าย
ozz

1
@Aaron: ฉันหมายถึง "ใครบางคน" กล่าวถึงในคำถาม ใช่ฉันยังมีความกลัวอย่างไม่มีเหตุผลเนื่องจากเงื่อนไขทั้งในชีวิตของเด็กและผู้ใหญ่เช่นเดียวกับพวกเราส่วนใหญ่ ตัวอย่าง: ฉันกลัวความคิดฟุ้งซ่านอย่างไม่มีเหตุผล ฉันรู้สึกตัวเองเมื่อฉันสามารถ สุดสัปดาห์ที่แล้วฉันไปเยี่ยมชมป้อมปราการ (พบเห็นได้ทั่วไปในประเทศของฉันเนื่องจากการทำสงครามระหว่างชาวฝรั่งเศสและชาวเยอรมัน) และต้องใช้รถรางเชื่อม

1
ตามปกติแล้วคำตอบที่ดีเลิศของปิแอร์
Josh K

5

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

ตราบใดที่บุคคลที่ไม่สนใจยินดีลองสิ่งนี้ก็ช่วยได้ หากพวกเขาปฏิเสธที่จะพิจารณามีหลายสิ่งที่คุณสามารถทำได้ตราบเท่าที่พวกเขาอยู่ในทีม


การเขียนโปรแกรมคู่เป็นหัวข้ออื่น ๆ ทั้งหมด แต่ข้อเสนอแนะที่ยอดเยี่ยม!
ozz

ความเห็นของคุณทำให้ฉันคิดเกี่ยวกับ PP เพิ่มขึ้นดังนั้นฉันจึงเริ่มต้น Q - programmers.stackexchange.com/questions/39878/… ขอบคุณ!
ozz

4

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

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


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

2

ตรงไปตรงมาคำถามนี้ไม่สมเหตุสมผลหากคุณมีร้านค้าที่จัดการดี

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

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

  • ถ้าเป็นเรื่องที่ดีให้แจ้งพวกเขาและให้พวกเขาตบหลัง - นั่นจะเป็นการกระตุ้นการมีส่วนร่วม

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


นั่นคือคำแนะนำที่สิ้นหวังอย่างสมบูรณ์ฉันคาดว่าจะเป็น "ร้านค้า" ที่มีสภาพแวดล้อมการทำงานที่ไม่ดีสำหรับคุณ Urgghh!
cognacc

@cognacc - คุณไม่จำเป็นต้อง 'ละสายตา' อะไรเลย ฉันทำงานเป็นกลุ่มเป็นเวลา 25 ปีที่เรามีสภาพแวดล้อมการทำงานที่ดีมาก : พวกเราทุกคนเป็นผู้ใหญ่และเข้าใจว่ามันต้องเป็นมืออาชีพและมีความรับผิดชอบต่องานของเรา
เวกเตอร์

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

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

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

1

พวกเขามีประสบการณ์ด้านลบในสถานที่ที่รีวิวโค้ดไม่ถูกต้องหรือไม่ พวกเขาอาจมีข้อกังวลตามกฎหมาย

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

ตรวจสอบรหัส 'ควร' ปรับปรุงการพัฒนา แต่จนกว่าคุณจะมีระบบที่ใช้งานได้จริงทำไมทุกคนควรจะทำมันได้หรือไม่


ขอบคุณเจฟฟ์เห็นด้วยถ้ากระบวนการไม่ดีมันจะเป็นเรื่องยากและการหลีกเลี่ยงความกลัวที่ไม่มีเหตุผลของทุกคนอาจเป็นเรื่องยาก - บางคนก็ไม่เปลี่ยนแปลง!
ozz

1
แต่จนกว่าคุณจะมีระบบที่ใช้งานได้จริงทำไมทุกคนควรจะทำมัน? ขอผมใช้ทิ่มแทงตรงนี้: ทำไหมเพื่อที่คุณจะได้เข้าใจว่าทำไมระบบของคุณถึงไม่ทำงาน ?
เวกเตอร์

1
@Vector - หากคุณเป็นโปรแกรมเมอร์ไม่สามารถหาวิธีทำให้มันทำงานได้อาจมีปัญหาใหญ่กว่า ฉันคิดว่าฝ่ายบริหารต้องมีความรับผิดชอบและให้คำจำกัดความของรหัสคุณภาพที่ชัดเจน หากรหัสที่ได้รับการปล่อยตัวไม่มีข้อบกพร่องมากเกินไปพวกเขาอาจมีเหตุผลที่ดีที่จะไม่รวมการตรวจสอบโค้ด สำหรับโครงการที่มีความซับซ้อนใด ๆ ฉันสงสัยว่าจะเกิดขึ้นโดยไม่มีการตรวจสอบโค้ดคุณภาพหรืออาจเป็นจำนวนเวลาและต้นทุนในการพัฒนาที่ไม่เหมาะสม
JeffO

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

1

ฉันเป็นการส่วนตัวที่มีการต่อสู้บางอย่างที่ไม่สามารถชนะได้ด้วย 100% ของประชากร

ฉันเห็นเหตุผลมากพอว่าทำไมการเขียนโปรแกรมคู่ไม่ทำงานเมื่อมีคนถูกบังคับให้ทำ

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

ฝ่ายบริหารสามารถทำหลายสิ่งเพื่อลดความต้านทานเนื่องจากผลผลิต: 1) ยอมรับการลดความเร็วสำหรับนักพัฒนาทั้งหมด 2) จัดทำเครื่องมือที่เหมาะสมเพื่อจัดการกับการจัดการและการรวมหลายเวอร์ชั่นเนื่องจากวงจรการตรวจสอบ (เช่นการอนุญาตให้นักพัฒนามีที่เก็บ git ในพื้นที่) 3) บังคับใช้แรงกดดันทางสังคมหรือรูปแบบอื่น ๆ เพื่อให้แน่ใจว่าการกระจายโหลดและคุณภาพ จากความคิดเห็น

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


เห็นด้วยกับ Uri ... มีบางคนที่คุณไม่สามารถเอาชนะได้ บางทีพวกเขาอาจถูกวางในทางที่ขี้เกียจคิดว่าวิธีการของพวกเขาถูกต้องหรือเพียงแค่ไม่สนใจ!
ozz

0

เราใช้มาตรการทางเทคนิคเพื่อให้มีการตรวจทานโค้ด

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


-1

ไล่พวกมันออก

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

ตอนนี้ถ้าดูเหมือนว่าคุณจะต้องยิงทีมของคุณไปแล้ว 50% ...

เข้าใจ

ทำไมบางคนปฏิเสธ? พวกเขาไม่มีเวลาหรือไม่? พวกเขาถูกไฟไหม้หรือไม่ บทวิจารณ์เกี่ยวกับสิ่งที่พวกเขาไม่มีประสบการณ์ด้วยหรือไม่? พวกเขาคิดว่ามันเสียเวลาไหมถ้าอย่างนั้นทำไม?

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

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

ทุกคนที่มีปัญหาสามารถทำงานในโครงการเดียวกันได้หรือไม่

โครงการนี้ถูกฝังอยู่ภายใต้ภูเขาแห่งหนี้ทางเทคนิคหรือไม่?

พวกเขาเชื่อในโครงการและปรับปรุงอย่างต่อเนื่องหรือไม่?


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

@Dunk คุณเป็นผู้ต่อต้านหรือไม่ ถ้าอย่างนั้นคุณจะไม่อยู่ในทีมของฉัน คุณเป็นผู้วิจารณ์มืออาชีพหรือไม่? จากนั้นคุณก็รู้ถึงการสนับสนุนข้อเรียกร้องของฉัน คุณลังเลหรือไม่ โปรดตัดสินใจ ;-)
Dima Tisnek

ฉันไม่ได้เป็นผู้ต่อต้านผู้ตรวจทาน แต่ฉันก็จำได้เมื่อบางสิ่งไม่ได้ให้ผลประโยชน์ที่สมเหตุสมผลเมื่อเทียบกับค่าใช้จ่าย บางโครงการ / ทีมต้องการการตรวจสอบโค้ดอย่างเป็นทางการในขณะที่โครงการ / ทีมอื่น ๆ จะทำเฉพาะเมื่อเห็นว่าเป็นประโยชน์ ข้อสันนิษฐานของคุณที่จำเป็นต้องมีการตรวจสอบโค้ดมักจะบอกฉันว่าคุณไม่ทราบถึงประโยชน์และข้อ จำกัด ที่แท้จริง ดังนั้นคุณพูดถูก ฉันจะไม่อยู่ในทีมของคุณและนั่นจะเป็นการสูญเสียครั้งใหญ่สำหรับคุณ
Dunk
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.