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

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

12
เราควรพยายามตรวจสอบรหัสของเราทั้งหมดหรือไม่
ขณะนี้เรากำลังปรับเปลี่ยนกระบวนการพัฒนาและฉันสงสัยว่าเราควรพยายามรักษาความมุ่งมั่นที่เราตรวจสอบไว้ 100% ประสบการณ์ของคุณเกี่ยวกับการตรวจสอบรหัสคืออะไร คุณมักจะใช้เวลา "มาก" กับพวกเขา (พูด 1/2 ชั่วโมงต่อวัน) หรือแค่อ่านเกิน 5/10 นาทีสูงสุดหรือไม่? คุณมีเวลาที่แน่นอนในการใช้จ่ายต่อวัน / สัปดาห์ / การวิ่ง / โครงการหรือไม่? ที่สำคัญที่สุดคุณคิดว่าเป้าหมายควรเป็น 100% ของรหัสที่จะตรวจสอบโดยเพื่อนหรือไม่จำเป็น 100%

7
PBI เทียบกับเรื่องราวของผู้ใช้
เมื่อเร็ว ๆ นี้มีการเพิ่มรายการไปยัง Product Backlog โดยเจ้าของผลิตภัณฑ์ซึ่งระบุว่า "เมื่อฉันไปที่หน้าเข้าสู่ระบบจากหน้า x ฉันเห็นข้อผิดพลาดฉันต้องการข้อผิดพลาดนั้นจะถูกลบ" สำหรับฉันดูเหมือนว่านี่ไม่ใช่กรณีการใช้งานและไม่ควรเป็น PBI (รายการสินค้าค้าง) อย่างไรก็ตามเมื่อฉันพูดถึงมันอาจารย์ทะเลาะกันบอกฉันว่าเรื่องราวของผู้ใช้ไม่ใช่ PBI และ PBI อาจเป็นรายงานข้อผิดพลาดงานเรื่องราวของผู้ใช้ทุกสิ่งและรายการใด ๆ ที่ควรได้รับการแก้ไขก่อน ฉันไม่แน่ใจเกี่ยวกับเรื่องนี้ นอกจากนี้ผมไม่สามารถหาคำนิยามที่ดีของ PBI บนเว็บ ดังนั้นคำถามของฉันคืออะไรประเภทของสิ่งที่ได้รับใน Backlog สินค้าเป็นรายการ? รายการที่ค้างของผลิตภัณฑ์แมปกับเรื่องราวของผู้ใช้หรือไม่ พวกเขาเหมือนกันหรือไม่

3
ข้อดีของไวยากรณ์ภาษาจากซ้ายไปขวา
ฉันได้ดูบทสัมภาษณ์ของ Herb Sutter ที่ช่อง 9 และเขาพูดถึงตอนท้ายของวิดีโอว่าไวยากรณ์ของภาษาซ้าย - ขวาจะอยู่ในอันดับต้น ๆ ของนักแปลเพื่อมาตรฐาน C ++ ในอนาคต (แม้ว่าเขาจะยอมรับว่าการดัดแปลง C ++ ด้วยวิธีนั้น จะทำให้สัตว์ร้ายต่างไปจากเดิมอย่างสิ้นเชิง) นอกเหนือจาก: มนุษย์สามารถเข้าใจได้ชัดเจนขึ้นด้วยตาเปล่าเช่น //C syntax /*pointer to function taking a pointer to function(which takes 2 integers as arguments and returns an int), and an int as arguments and returning an int*/ int (*fp)(int …

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

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

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

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

8
เหตุใด Microsoft จึงสร้างพารามิเตอร์ตัวแปรโลคัลและฟิลด์ส่วนบุคคลจึงมีหลักการตั้งชื่อเหมือนกัน
ฉันถามคำถามนี้เมื่อไม่นานมานี้: คุณตั้งชื่อตัวแปรส่วนตัวใน C # ได้อย่างไร ในหนึ่งในคำตอบฉันถูกชี้ไปที่หน้า MSDN ของ Microsoft ที่แสดงว่าตัวแปร / ฟิลด์ส่วนตัวควรตั้งชื่อดังนี้: private int myInteger; แต่พารามิเตอร์จะเป็น: void SomeMethod(int myInteger) และตัวแปรท้องถิ่นจะเป็นเช่นนี้: int myInteger; ดังนั้นเมื่อคุณอ้างอิงพวกเขาเช่นนี้ myInteger = 10; คุณไม่มีทางรู้ว่าคุณกำลังพูดถึงเรื่องไหนอยู่ ตอนนี้ฉันเริ่มโครงการใหม่และเพื่อนร่วมงานคนหนึ่งของฉันถามฉันว่าทำไมเราไม่ทำอะไรเพื่อแยกความแตกต่างอย่างน้อยบางอย่าง ฉันสงสัยในสิ่งเดียวกัน ทำไมมาตรฐานของ Microsoft จึงไม่แตกต่างกัน?

1
มาตรฐาน / แนวทางการตั้งชื่อคลาส c #
ในช่วงหลายปีที่ผ่านมาฉันใช้การตั้งชื่อแบบต่างๆสำหรับบริการในแอปพลิเคชันของฉัน ตัวอย่างเช่น: [ClassName] บริการ [ClassName] ผู้จัดการ [ClassName] โรงงาน [ClassName] ผู้ให้บริการ [ClassName] Helper ฉันมักจะใช้คำต่อท้าย "ผู้ช่วย" สำหรับคลาสยูทิลิตี้ที่ไม่มีการอ้างอิงภายนอก อย่างไรก็ตามฉันพบว่ามีการข้ามไปมาระหว่างผู้อื่นและสงสัยว่ามีคำแนะนำ / มาตรฐาน / แนวทางเกี่ยวกับสิ่งที่จะใช้และเมื่อใด
18 c#  naming 

3
ทำงานอย่างไรกับ 2 คนในโครงการ
ฉันมาหาคุณในฐานะโปรแกรมเมอร์มือใหม่ที่กำลังทำงานในโครงการของเขาเอง (ซึ่งก้าวหน้าอย่างมาก) ผู้ร่วมก่อตั้งของฉันยังได้เรียนรู้วิธีการเขียนโปรแกรมและได้มาถึงจุดที่เขาอาจจะเริ่มแก้ไขบางสิ่งและทำให้บางสิ่งเกิดขึ้น เขาถามคำถามที่ดีมากซึ่งเป็น "งานนี้จะทำอย่างไร" บางสิ่งที่ฉันสามารถสร้างทฤษฎีเกี่ยวกับสิ่งที่ฉันไม่เคยตั้งโปรแกรมกับคนอื่น คุณช่วยแนะนำขั้นตอนการทำงานที่ดีที่สุดให้ฉันได้ไหม เราใช้คอมไพล์ เราควรเป็นเจ้าของส่วนต่าง ๆ ของระบบหรือไม่? กำลังตรวจสอบรหัสหรือไม่ ตรวจสอบรหัส? คุณทำงานกับ> 1 dev อย่างไร
18 git  github  gitflow 

9
ฉันควรจะระมัดระวังการลงนามในข้อตกลงการไม่เปิดเผยข้อมูลกับคนที่ฉันเพิ่งพบเจอหรือไม่?
อัปเดต 1/22/12ในกรณีที่คุณงงว่าทำไมฉันถึงไม่ยอมรับคำตอบ: คำตอบทั้งหมดค่อนข้างมากทำให้เห็นได้ชัดว่าการทำงานกับเขาคงจะโง่ แต่ไม่มีใครตอบคำถามเลย . tl; dr : คนที่ฉันเพิ่งพบบางคนบอกว่าเขาต้องการให้ฉันเข้าร่วม บริษัท ของเขา ก่อนที่เขาจะแสดงให้ฉันเห็นว่าพวกเขาทำอะไรเขาต้องการให้ฉันเซ็นสัญญาไม่เปิดเผยข้อมูล นี่มันแปลกเหรอ? ตอนนี้ฉันกำลังเดินทาง คนที่เห็นฉันเขียนโปรแกรมดูเหมือนจะคิดว่าฉันฉลาดหรืออะไรและเริ่มพูดคุยกับฉัน เขาอธิบายว่าเขาเป็นเจ้าของ บริษัท ซอฟต์แวร์บอกฉันเล็กน้อยเกี่ยวกับสิ่งที่มันทำและบอกฉันว่าเขากำลังมองหาโปรแกรมเมอร์ที่จะทำงานเพื่อเดิมพันใน บริษัท เขาอธิบายว่าผลิตภัณฑ์ของ บริษัท กำลังพัฒนาค่อนข้างลับดังนั้นเขาไม่สามารถบอกได้มาก แต่เขาบอกพอเกี่ยวกับผลิตภัณฑ์เพื่อโน้มน้าวให้ฉันว่าเขาไม่ได้ทำสิ่งนี้อย่างสมบูรณ์ซึ่งเป็นพื้นฐานที่ดี เขาแนะนำให้เขาแสดงให้ฉันดูสิ่งที่เขากำลังทำอยู่และหลังจากเห็นว่าฉันตัดสินใจแล้วว่าฉันต้องการเข้าร่วม เนื่องจากความลับที่อยู่เบื้องหลังผลิตภัณฑ์เขาต้องการให้ฉันลงนามข้อตกลงที่ไม่เปิดเผยก่อนที่เราจะพูดคุย เห็นได้ชัดว่าฉันค่อนข้างสงสัยเพราะลักษณะแบบสุ่มที่เราพบ ในระยะสั้นฉันสงสัยว่าฉันควรระวังการลงนามข้อตกลงดังกล่าวหรือไม่ เขาบอกว่ามันจะง่ายกว่าที่จะแสดงให้ฉันเห็นผลิตภัณฑ์ด้วยตัวเองมากกว่าผ่านทางอินเทอร์เน็ตและฉันจะออกจากเมืองในวันพรุ่งนี้ดังนั้นฉันจะต้องคิดออกในวันพรุ่งนี้ ถ้าฉันตัดสินใจที่จะคุยกับเขาฉันสามารถตัดสินใจได้ในภายหลังว่าฉันเชื่อมั่นหรือไม่ว่ามันคุ้มค่าที่จะใช้เวลากับ บริษัท นี้ แนวคิดของการหลีกเลี่ยงการบอกความลับนั้นดูแปลกสำหรับฉันด้วยเหตุผลเดียวกันกับที่สิ่งต่าง ๆ เช่นลิขสิทธิ์บางประการดูเหมือนแปลก ฉันควรจะระมัดระวังการลงนามข้อตกลงที่ไม่เปิดเผยหรือไม่? นี่คือการปฏิบัติทั่วไปหรือไม่ ฉันไม่ทราบรายละเอียดของข้อตกลงที่เขาคิด (ถ้าฉันพบกับเขาฉันจะอ่านข้อตกลงก่อนที่ฉันจะตัดสินใจลงนาม) ดังนั้นฉันจึงสามารถพิจารณาทางเลือกตาม แง่มุมของข้อตกลง หรือฉันสามารถพิจารณากรณีของข้อตกลงที่รุนแรงโดยเฉพาะอย่างยิ่ง คำถามนี้ดูเหมือนว่าเกี่ยวข้องกันอย่างคลุมเครือ เราจำเป็นต้องมีข้อตกลงการไม่เปิดเผยข้อมูล (NDA) หรือไม่? ขอบคุณ

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

2
อะไรคือข้อแตกต่างระหว่าง callbacks และ listeners?
ใน blackberry เราสามารถแทนที่ keyChar () วิธีการและจับภาพเหตุการณ์ keypress หรือเราสามารถลงทะเบียน onKeyPressListener ฉันรู้ว่า onKeyListener เป็นรูปแบบการสังเกตการณ์ ใน Android ยังมี KeyEvent.callback และ onKeyListener ทั้งสองเป็นเหตุการณ์ที่ทำให้เราไม่จำเป็นต้องลงทะเบียนสำหรับเหตุการณ์ keyChar ความแตกต่างระหว่างทั้งสองรูปแบบคืออะไร?
18 java 

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

10
ในฐานะโปรแกรมเมอร์ฉันควรรู้ภาษาการเขียนโปรแกรมระดับต่ำและระดับสูงหรือไม่ [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน5 ปีที่ผ่านมา ฉันได้รับการติดต่อให้ทำงาน LED ควบคุมการทำงานระยะไกลแสดงผ่าน TCP / IP แต่ประสบการณ์และการเตรียมการของฉันส่วนใหญ่เกี่ยวกับภาษาการเขียนโปรแกรมระดับสูง ฉันบอกกับคนที่ติดต่อฉันเกี่ยวกับงานและเขาบอกฉันว่า: "ถ้าคุณเรียกตัวเองว่าโปรแกรมเมอร์คุณควรรู้ทุกสิ่งเหล่านี้" โปรแกรมเมอร์ควรทราบรายละเอียดของการเขียนโปรแกรมระดับต่ำจริง ๆ หรือไม่? หรือฉันสามารถถือเป็นแนวคิดกล่องดำเป็นความรู้เชิงทฤษฎี แต่ไม่จำเป็นต้องทำหรือใช้โซลูชันภาษาระดับต่ำโดยคำนึงถึงว่าการเขียนโปรแกรมระดับต่ำไม่ใช่ความเชี่ยวชาญของฉัน

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