วิศวกรรมซอฟต์แวร์

ถาม - ตอบสำหรับมืออาชีพนักวิชาการและนักเรียนที่ทำงานในวงจรการพัฒนาระบบ

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

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

3
การทดลองที่สัมพันธ์กับตัวชี้วัดโค้ดกับความหนาแน่นของบั๊ก
ฉันสงสัยว่ามีคนทำการทดลองบางอย่างที่สัมพันธ์กับตัวชี้วัดโค้ด (SLOC, Cyclomatic Complexity และอื่น ๆ ) ด้วยความหนาแน่นของข้อบกพร่องในแอปพลิเคชัน Object Oriented หรือไม่ ฉันไม่ได้กำลังมองหาการทดลองที่พิสูจน์หรือหักล้างความสัมพันธ์ แต่กับทั้งคู่ ฉันไม่ได้พยายามหา bullet เงินเพราะฉันเชื่อว่าความหนาแน่นของบั๊กของโครงการอาจสัมพันธ์กับตัวชี้วัดอย่างน้อยหนึ่งรายการสำหรับโครงการหรือทีมที่กำหนดและความสัมพันธ์สามารถเปลี่ยนแปลงได้ในช่วงอายุของโครงการ / ทีม เป้าหมายของฉันคือ วัดตัวชี้วัดที่น่าสนใจทั้งหมดสำหรับ 2-3 เดือน (เรามีโซนาร์ค่อนข้างน้อย) ค้นหาหนึ่งเมตริกที่สัมพันธ์กับจำนวนข้อบกพร่องใหม่ ทำการวิเคราะห์สาเหตุที่แท้จริงเพื่อตรวจสอบสาเหตุที่เกิดขึ้น (เช่นเราขาดทักษะการออกแบบบางอย่างหรือไม่) พัฒนาทักษะและการวัดการเปลี่ยนแปลงสำหรับคู่ของมัน ล้างและทำซ้ำจาก 2 หากคุณไม่มีประสบการณ์เกี่ยวกับเรื่องนี้ แต่จำไว้ว่าให้ดูกระดาษ / บล็อกเกี่ยวกับเรื่องนี้ฉันจะขอบคุณถ้าคุณสามารถแบ่งปันได้ จนถึงตอนนี้ฉันได้พบลิงค์ต่อไปนี้พร้อมข้อมูลบางอย่างเกี่ยวกับเรื่องนี้ บักอาศัยอยู่ในรหัสที่ซับซ้อน? - เพียงสไลด์จากงานนำเสนอ การเปลี่ยนแปลงและข้อบกพร่อง: การขุดและทำนายกิจกรรมการพัฒนา - เพียงแค่สไลด์การนำเสนอ บรรทัดล่างยิ่งมีการพึ่งพามากเท่าไหร่โอกาสในการเกิดข้อผิดพลาดก็สูงขึ้น (ฉันคิดว่านี่เป็นกฎทั่วไป) ความล้มเหลวเป็นคำสี่ตัวอักษร - เป็นเรื่องเกี่ยวกับความสัมพันธ์ระหว่างข้อบกพร่องและตัวชี้วัด

3
การ upcasting / downcasting คืออะไร?
เมื่อเรียนรู้เกี่ยวกับความแตกต่างคุณมักเห็นสิ่งนี้ class Base { int prv_member; virtual void fn(){} } class Derived : Base { int more_data; virtual void fn(){} } อัพซิสต์หรือดาวน์สตรีมคืออะไร? คือ(Derived*)base_ptr;upCast หรือเศร้าใจ? ฉันเรียกมันว่า upcast เพราะคุณกำลังออกจากฐานไปสู่สิ่งที่เฉพาะเจาะจงกว่านี้ คนอื่นบอกฉันว่ามันเป็นการลดทอนเพราะคุณจะลดระดับลงในบางสิ่งที่เฉพาะเจาะจงโดยที่ด้านบนเป็นราก แต่คนอื่น ๆ ดูเหมือนจะเรียกสิ่งที่ฉันเรียกมันว่า เมื่อแปลง ptr ฐานเป็น ptr ที่ได้รับมันเรียกว่า upcasting หรือ downcasting? และถ้าใครบางคนสามารถเชื่อมโยงไปยังแหล่งข้อมูลอย่างเป็นทางการหรืออธิบายว่าทำไมมันถึงเรียกว่ายิ่งใหญ่

2
ภาพรวมที่ดีที่สุดสำหรับกระบวนทัศน์ C ++ ที่ทันสมัย? [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นหัวข้อสำหรับ Software Engineering Stack Exchange ปิดให้บริการใน4 ปีที่แล้ว ฉันเคยเขียน C ++ อย่างกว้างขวางระหว่าง 8 และ 10 ปีที่แล้ว ฉันได้ย้ายไปยัง C # ด้วยเหตุผลมืออาชีพ อย่างไรก็ตามบางครั้งฉันเห็นข้อความชอบ "หากคุณยังคงติดตามการอ้างอิงตัวชี้ด้วยตนเองคุณกำลังทำผิด" หรือ "C ++ มีความปลอดภัยอย่างสมบูรณ์แบบตราบใดที่คุณใช้แนวคิดสมัยใหม่เช่น RAII และไม่ได้จัดสรรหน่วยความจำด้วยตนเองเช่นนักพัฒนา C ที่กู้คืน" ทั้งสองเป็นขั้นตอนมาตรฐานเมื่อสิบปีที่แล้ว ฉันได้เห็นว่า C ++ ได้รับการปรับปรุงอย่างมากในช่วงเวลาที่ผ่านมา; โดยเฉพาะอย่างยิ่ง C ++ 0x ดูเหมือนจะมีความสามารถใหม่ ๆ แหล่งข้อมูลที่ดีที่สุดสำหรับโปรแกรมเมอร์ "C / old C ++" …

7
ในสถาปัตยกรรม MVC มีความสัมพันธ์กับ Model and View to Controller อย่างไร
ฉันมีแอพที่ใช้ MVC แต่ฉันพยายามดิ้นรนนิดหน่อยว่าตัวควบคุมควรได้รับการออกแบบใหม่อย่างไร ตัวอย่างเช่นมุมมองจะดูชุดย่อยบางส่วนของข้อมูลของรุ่นพร้อมกันเท่านั้น อย่างไรก็ตามฉันไม่แน่ใจว่าควรจะจัดการเรื่องนี้อย่างไร เป็นเรื่องปกติที่ View หรือ Model จะเรียกใช้ฟังก์ชั่นโดยตรงบน Controller หรือไม่? ผ่านอินเตอร์เฟสบางประเภท? หรือพวกเขาถูกห่อหุ้มทั้งหมดและไม่เคยรู้เกี่ยวกับตัวควบคุมหรือกันและกัน? เช่นเดียวกับการแก้ไข; นี่เป็นแอปที่กำหนดเองที่ไม่ได้เขียนในกรอบงานเว็บใด ๆ ดังนั้นฉันไม่ได้มองหารายละเอียดเฉพาะของกรอบงานที่นี่และมีอิสระในการเลือกของฉันเอง
16 mvc 

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

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

4
รุ่นหนาเทียบกับ ตรรกะทางธุรกิจคุณจะแยกความแตกต่างที่ไหน
วันนี้ฉันได้มีการถกเถียงกันอย่างดุเดือดกับนักพัฒนาคนอื่นในองค์กรของฉันเกี่ยวกับสถานที่และวิธีการเพิ่มวิธีในคลาสที่แมปฐานข้อมูล เราใช้sqlalchemyและส่วนสำคัญของฐานรหัสที่มีอยู่ในโมเดลฐานข้อมูลของเรานั้นเป็นเพียงเล็กน้อยของคุณสมบัติที่แมปด้วยชื่อคลาสการแปลเชิงกลจากตารางฐานข้อมูลไปยังวัตถุหลาม ในการโต้แย้งตำแหน่งของฉันคือว่าค่าหลักของการใช้ ORM คือคุณสามารถแนบพฤติกรรมและอัลกอริทึมในระดับต่ำกับคลาสที่แมป โมเดลเป็นคลาสแรกและถาวรเป็นอันดับที่สอง (อาจคงอยู่โดยใช้ xml ในระบบไฟล์คุณไม่จำเป็นต้องสนใจ) มุมมองของเขาคือพฤติกรรมใด ๆ ที่เป็น "ตรรกะทางธุรกิจ" และจำเป็นต้องเป็นของทุกที่ แต่ในรูปแบบถาวรซึ่งจะใช้สำหรับการคงอยู่ของฐานข้อมูลเท่านั้น ฉันคิดว่าแน่นอนว่ามีความแตกต่างระหว่างตรรกะทางธุรกิจคืออะไรและควรแยกออกจากกันเนื่องจากมีการแยกจากระดับล่างของวิธีการใช้งานและตรรกะโดเมนซึ่งฉันเชื่อว่าเป็นนามธรรมที่จัดทำโดยคลาสโมเดล เป็นที่ถกเถียงกันในย่อหน้าก่อนหน้า แต่ฉันมีเวลายากที่จะวางนิ้วลงบนสิ่งที่เป็น ฉันมีความรู้สึกที่ดีขึ้นเกี่ยวกับสิ่งที่อาจเป็น API (ซึ่งในกรณีของเราคือ HTTP "ReSTful") ผู้ใช้จะเรียกใช้ API กับสิ่งที่พวกเขาต้องการทำแตกต่างจากสิ่งที่พวกเขาได้รับอนุญาตให้ทำ เสร็จแล้ว tl; dr: ประเภทใดที่สามารถหรือควรไปในวิธีการในคลาสที่แมปเมื่อใช้ ORM และสิ่งที่ควรจะออกไปอยู่ในอีกชั้นหนึ่งของสิ่งที่เป็นนามธรรม?

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

7
ฉันจะอธิบายกระบวนการเรียนรู้รหัสของผู้อื่นได้อย่างไร (ในสถานการณ์การแจ้งหนี้) [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นหัวข้อสำหรับ Software Engineering Stack Exchange ปิดให้บริการใน4 ปีที่แล้ว แก้ไข: Justin Cave สร้างจุดที่ดีว่าการสื่อสารประเภทนี้ควรอยู่ตรงหน้าในการอ้างอิง / การประเมินของฉัน ในกรณีนี้ฉันยังสนใจที่จะรู้ว่าคนประเภทภาษาใดที่ใช้เพื่ออธิบายกิจกรรม 'การเรียนรู้โค้ดที่มีอยู่' โดยเฉพาะกับ บริษัท ที่ไม่ได้ทำสัญญากับผู้รับจ้างซอฟต์แวร์มาก่อน สิ้นสุดการแก้ไข ฉันมีสัญญาที่จะอัพเกรดซอฟต์แวร์ภายในองค์กรสำหรับ บริษัท ขนาดใหญ่ บริษัท ได้ขอคุณสมบัติเพิ่มเติมหลายรายการและแก้ไขข้อบกพร่องเล็กน้อย นี่เป็นงานสไตล์อิสระครั้งแรกของฉัน ก่อนอื่นฉันต้องทำความคุ้นเคยกับการทำงานของแอปพลิเคชัน - ฉันเรียนรู้ราวกับว่าฉันเป็นผู้ใช้ ต่อไปฉันต้องเรียนรู้ว่าซอฟต์แวร์ทำงานอย่างไร ฉันเริ่มต้นด้วยแนวคิดที่กว้างขวางและแคบลงไปในรายละเอียดที่จำเป็นก่อนที่จะทำงานกับแต่ละการแก้ไขข้อบกพร่องและคุณสมบัติ อย่างน้อยตอนเริ่มโครงการฉันใช้เวลานานในการเรียนรู้รหัสที่มีอยู่มากกว่าที่จะเขียนคุณลักษณะเพิ่มเติม ฉันจะอธิบายกระบวนการเรียนรู้รหัสที่มีอยู่ในใบแจ้งหนี้ได้อย่างไร (ส่วนหนึ่งของ บริษัท นี้มักจะทำสิ่งต่าง ๆ ภายใน บริษัท ดังนั้นจึงไม่มีประสบการณ์มากมายในการติดต่อกับผู้รับเหมาซอฟต์แวร์อย่างฉันและฉันกลัวว่าพวกเขาอาจไม่เข้าใจค่าใช้จ่ายในการเรียนรู้รหัสของคนอื่น) ฉันไม่ต้องการเพียงแค่เปลี่ยนเวลาการเรียนรู้ไปสู่การอัปเกรดคุณลักษณะจริงเพราะในบางกรณีการทำเช่นนี้จะทำให้ 'งานง่าย' ดูเหมือนว่าจะใช้เวลานานเกินไป ฉันต้องการทำลายใบแจ้งหนี้เป็นขั้นตอนที่เกี่ยวข้องและสื่อสารว่าฉันคิดเงินสำหรับค่าใช้จ่ายจำนวนมากในการเรียนรู้รหัสของคนอื่นก่อนที่จะสามารถเพิ่มรหัสของฉันเอง มีวิธีมาตรฐานในการอธิบายกิจกรรมประเภทนี้เมื่อเรียกเก็บเงินสำหรับงานหรือไม่?

3
ในความเข้าใจย้อนหลังการอ้างอิง XAML บน XML เป็นความผิดพลาดหรือแนวทางที่ดีหรือไม่?
XAML เป็นส่วนหนึ่งของ XML หนึ่งในประโยชน์หลักของการอ้างอิง XAML บน XML คือว่าสามารถแยกวิเคราะห์ด้วยเครื่องมือที่มีอยู่ และในระดับมากถึงแม้ว่าค่าแอตทริบิวต์ (syntactically non-trivial) จะยังคงอยู่ในรูปแบบข้อความและต้องการการแยกวิเคราะห์เพิ่มเติม มีสองทางเลือกหลักในการอธิบาย GUI ในภาษาที่ได้จาก XML หนึ่งคือการทำสิ่งที่ WinForms ทำและอธิบายด้วยรหัสจริง มีปัญหามากมายเกี่ยวกับสิ่งนี้แม้ว่าจะไม่ได้ประโยชน์อย่างสมบูรณ์ ( คำถามเพื่อเปรียบเทียบ XAML กับแนวทางนี้ ) ทางเลือกที่สำคัญอื่น ๆ คือการออกแบบไวยากรณ์ใหม่ทั้งหมดที่ปรับแต่งเป็นพิเศษสำหรับงานในมือ นี้เป็นที่รู้จักกันโดยทั่วไปเป็นโดเมนภาษาเฉพาะ ดังนั้นในความเข้าใจย้อนหลังและเป็นบทเรียนสำหรับคนรุ่นต่อไปในอนาคตมันเป็นความคิดที่ดีที่จะยึด XAML บน XML หรือจะดีกว่าในฐานะภาษาเฉพาะโดเมนที่ออกแบบเองหรือไม่? หากเราออกแบบกรอบ UI ที่ดียิ่งขึ้นเราควรเลือก XML หรือ DSL ที่กำหนดเองหรือไม่ เนื่องจากเป็นการง่ายกว่าที่จะคิดในแง่บวกเกี่ยวกับสภาพที่เป็นอยู่โดยเฉพาะอย่างยิ่งสิ่งที่ชุมชนชื่นชอบมากฉันจะให้เหตุผลบางอย่างเกี่ยวกับสาเหตุที่การสร้างส่วนบนของ XML อาจถือเป็นข้อผิดพลาด การแยกภาษาออกจาก XML มีสิ่งหนึ่งเกิดขึ้น: แยกวิเคราะห์ได้ง่ายกว่า (ตัวแยกวิเคราะห์หลักมีอยู่แล้ว) ต้องการงานออกแบบที่น้อยกว่ามาก …

8
เหตุใด C ++ ยังคงเป็น“ ลูกผสม”
สำหรับคำถามที่เกี่ยวข้องจะได้รับการชี้แจงว่าทำไม C ++ เข้ากันไม่ได้กับ C ในหลาย ๆ ด้าน อย่างไรก็ตาม C ++ ยังคงเป็นภาษา "ไฮบริด" * และน่าเสียดายที่โปรแกรมเมอร์หลายคนยังถือว่า C ++ เป็น "C ที่มีสตรีมและสตริงในตัว" ผลลัพธ์นั้นเป็นโค้ดที่เขียนไม่ดีจริง ๆ ซึ่งไม่ใช่ทั้ง C ++ หรือ C. IMHO มันจะดีกว่าถ้าภาษา / คอมไพเลอร์บังคับให้โปรแกรมเมอร์ในระดับหนึ่งต้องเขียนโค้ดที่หรูหรากว่านี้ ดังนั้นมีเหตุผลในการรักษาไฮบริด C ++ (เช่น C ++ 0x และเวอร์ชันในอนาคต) ไฮบริด? * โดยไฮบริดฉันหมายถึงมันขึ้นอยู่กับโปรแกรมเมอร์ที่จะตัดสินใจว่าเขา / เธอจะใช้หรือไม่: สตริงมาตรฐานและสตรีม, คลาส, เนมสเปซอื่นที่ไม่ใช่ค่าเริ่มต้นเป็นต้น

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

10
ฉันจะสาธิตประสิทธิภาพในการจัดการของฉันได้อย่างไร [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นหัวข้อสำหรับ Software Engineering Stack Exchange ปิดให้บริการใน7 ปีที่ผ่านมา มหาวิทยาลัยของฉันมีโมดูลสำหรับการพัฒนาซอฟต์แวร์กับลูกค้าจริง สมาชิกในทีมของฉันบางคนทำงานในห้องปฏิบัติการคอมพิวเตอร์ตลอดเวลาซึ่งเป็นสภาพแวดล้อมที่มีเสียงดังมากที่มีการขัดจังหวะและการรบกวนมากมาย มีคนพูดประมาณ 30 คน ผู้คนมักจะไปที่ Facebook, YouTube หรือเล่าเรื่องตลกด้วยกันนอกเหนือจากการ "ทำงาน" สมาชิกในทีมของฉันบางคนทำงาน 3 ชั่วโมงทุกวันในสภาพแวดล้อมนี้ ฉันเข้าร่วมการประชุมทีมรายสัปดาห์และใช้ระบบการจัดการโครงการออนไลน์ของเราอย่างกว้างขวาง ฉันระบุที่อยู่อีเมลทั้งหมดและมีโปรแกรมแชทไม่ว่าง แต่ฉันได้รับข้อความ ฉันใช้แหล่งข้อมูลออนไลน์เป็นจำนวนมากเมื่อแก้ปัญหาของฉัน อย่างไรก็ตามนอกการประชุมทีมและเซสชันการเขียนโปรแกรมคู่ฉันทำงานส่วนใหญ่ในสภาพแวดล้อมที่เงียบสงบที่ฉันสามารถมุ่งเน้นและมีสมาธิและฉันปิดกั้นการขัดจังหวะภายนอกทั้งหมดและภายใน ฉันมุ่งเน้นงานของฉัน 100% ฉันพบว่าฉันทำสิ่งนี้ได้มากกว่าในห้องปฏิบัติการประมาณ 10 เท่าและฉันสามารถทำงานให้เสร็จได้มาก ปัญหาคืออาจารย์หรือผู้บริหารของเราไม่เห็นฉันทำงานอยู่ในห้องแล็บ ดังนั้นฉันดูเหมือนจะไม่ทำงานกับพวกเขา พวกเขาคิดว่าฉันไม่ได้ทำงานเป็นทีม ฉันจะทำให้พวกเขาเชื่อมั่นได้อย่างไรว่าฉันทำงานเป็นทีมเพราะฉันมีการสื่อสารกับทีมของฉันมากมาย แต่ในขณะเดียวกันฉันก็อยากทำงานด้วยตัวเอง ฉันต้องการพิสูจน์ว่าเพียงเพราะฉันทำงานคนเดียวมากและไม่จำเป็นต้องทำงานทั้งหมดในห้องทดลองฉันยังเป็นสมาชิกที่มีประสิทธิผลของทีม ผู้บริหารอัปเดตบอกฉันว่าปัญหาคือฉันใช้เวลาทำงานเป็นทีม 60% ของเวลาและฉันทำงานคนเดียว 40% ของเวลา พวกเขาบอกฉันว่าฉันควรใช้เวลา 99% ในการทำงานกับทีมตัวต่อตัวในห้องแล็บหรือที่ทำงาน ความคิดเห็นที่เกี่ยวข้องบางคำตอบซึ่งบางคนอาจพลาด: "ปัญหาคือฉันไม่จำเป็นต้องถามทีมของฉันเลยเพราะฉันชอบทำมันเองมากกว่าฉันและเชื่อใจ …

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