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

วิศวกรรมซอฟต์แวร์ (SE) คือการประยุกต์ใช้แนวทางที่เป็นระบบมีระเบียบวินัยเชิงปริมาณในการออกแบบการพัฒนาการดำเนินการและการบำรุงรักษาซอฟต์แวร์และการศึกษาแนวทางเหล่านี้ นั่นคือการประยุกต์ใช้วิศวกรรมกับซอฟต์แวร์

14
มีเหตุผลทางเทคนิคใด ๆ หรือไม่ในการเขียนโปรแกรมรูปแบบวันที่เริ่มต้นคือ YYYYMMDD และไม่ใช่อย่างอื่น?
มีเหตุผลด้านวิศวกรรมใด ๆ ทำไมมันเป็นเช่นนั้น? ฉันสงสัยในกรณีของ RDBMS ว่ามีบางอย่างเกี่ยวกับการแสดงเนื่องจาก "YEAR" มีความเฉพาะเจาะจงมากกว่า "MONTH" เช่นคุณมีเพียงหนึ่งปี 2000 แต่ทุกปีมี "มกราคม" ซึ่งจะทำให้ง่ายขึ้น / เร็วขึ้นในการกรอง / เรียงลำดับบางสิ่งบางอย่างในปีแรกและนั่นเป็นสาเหตุที่ปีนี้มาก่อน แต่ฉันไม่รู้ว่ามันสมเหตุสมผลจริงหรือ ... มีเหตุผลอะไรบ้าง?

9
การจัดการหน่วยความจำในการเขียนโปรแกรมกลายเป็นปัญหาที่ไม่เกี่ยวข้องหรือไม่?
ความเป็นมา ฉันเยี่ยมชมเว็บไซต์เก่า (แต่ยอดเยี่ยม) ที่ฉันไม่เคยไปมานานหลายปี - Alioth Language Shootout ( http://benchmarksgame.alioth.debian.org/ ) ฉันเริ่มเขียนโปรแกรมใน C / C ++ หลายปีที่ผ่านมา แต่หลังจากนั้นก็ทำงานใน Java โดยเฉพาะเนื่องจากข้อ จำกัด ทางภาษาในโครงการที่ฉันเข้าร่วมไม่จำตัวเลขได้ฉันต้องการเห็นประมาณว่า Java ดีแค่ไหน อาการเทียบกับ C / C ++ ในแง่ของการใช้ทรัพยากร เวลาการดำเนินการยังคงค่อนข้างดีกับ Java ที่เลวร้ายที่สุดที่มีประสิทธิภาพ 4x ช้ากว่า C / C ++ แต่ในรอบเฉลี่ย (หรือต่ำกว่า) 2x เนื่องจากลักษณะของการนำ Java มาใช้เองจึงไม่แปลกใจเลยและเวลาในการแสดงนั้นต่ำกว่าที่ฉันคาดไว้จริงๆ อิฐจริงคือการจัดสรรหน่วยความจำ - ที่แย่ที่สุดคือ Java จัดสรร: …

3
วิศวกรซอฟต์แวร์สามารถกลายเป็นวิศวกรมืออาชีพที่ได้รับการรับรอง (PE) ได้หรือไม่
ไม่มีใครรู้ว่าวิศวกรซอฟต์แวร์สามารถกลายเป็น Professional Engineer หรือ PE ที่ผ่านการรับรองได้หรือไม่ ฉันรู้ว่าเพื่อนของฉันที่เป็นวิศวกรเครื่องกลไฟฟ้าหรือวิศวกรโยธาสามารถเป็น PE โดยการสอบ มีการสอบเช่นนี้ในวิศวกรรมซอฟต์แวร์หรือไม่

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

3
สาขาวิชาวิศวกรรมซอฟต์แวร์และวิทยาการคอมพิวเตอร์ควรแยกจากกันหรือไม่? [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัพเดตคำถามเพื่อให้เป็นหัวข้อสำหรับ Software Engineering Stack Exchange ปิดให้บริการใน4 ปีที่แล้ว เป็นเวลาหลายทศวรรษที่การได้รับการยอมรับให้เป็นนักพัฒนาซอฟต์แวร์คือ "Compter Science" เรามีคำถามสองสาม ข้อเกี่ยวกับว่าระดับนั้นเป็นการเตรียมนักเรียนเพื่อพัฒนาซอฟต์แวร์หรือไม่ โรงเรียนบางแห่งในช่วง 8 ปีที่ผ่านมาเริ่มเสนอสาขาวิชาที่แตกต่างหลากหลายในการเขียนโปรแกรม การใช้หลักสูตรจากโรงเรียนของฉัน: วิทยาการคอมพิวเตอร์ซึ่งเริ่มต้นด้วยหลักสูตรการเขียนโปรแกรมอินโทรในปีแรกจากนั้นมุ่งเน้นไปที่วิทยาศาสตร์คอมพิวเตอร์เชิงทฤษฎีอัลกอริทึมและสิ่งต่าง ๆ ของระบบปฏิบัติการ ชั้นเรียนส่วนใหญ่เกี่ยวข้องกับโครงการขนาดเล็กและการบ้านหลายอย่างทำเดี่ยวหรือเป็นคู่ วิศวกรรมซอฟต์แวร์ซึ่งเริ่มต้นด้วยหลักสูตรการเขียนโปรแกรมอินโทรเดียวกันนั้นมีทฤษฎีเพียงไม่กี่คลาสและจากนั้นจะเข้าสู่การพัฒนาซอฟต์แวร์ (การทดสอบวิธีการกระบวนการตัวชี้วัดซอฟต์แวร์การรวบรวมความต้องการ) และการออกแบบซอฟต์แวร์ (การออกแบบระบบกระจายการออกแบบระบบข้อมูล การออกแบบตามเวลาจริง / การฝังการออกแบบระบบย่อย ฯลฯ ) โรงเรียนที่แตกต่างกันทำแตกต่างกันดังนั้นข้างต้นเป็นเพียงตัวอย่างในโลกแห่งความจริงที่ฉันคุ้นเคย สิ่งที่ฉันถามคือมีความจำเป็นสำหรับวิชาเอกที่แตกต่างกันในการเขียนโปรแกรมหรือไม่?

1
บางคนสามารถอธิบายขั้นตอน V Model ได้หรือไม่ ทำไมมันถึงแตกต่างจากรุ่น Waterfall?
ดูเหมือนว่ารูปแบบ V เป็นเพียงรูปแบบของน้ำตกที่มีครึ่งล่างของน้ำตกงอขึ้นไปเป็นรูปแบบ V ฉันไม่เห็นว่ามันจะเพิ่มอะไรใหม่ จากแผนภาพฉันไม่เข้าใจการไหล มีลูกศรชี้ไปทุกทิศทุกทางและฉันไม่เข้าใจสิ่งที่เกิดขึ้นก่อน เราติดตาม V จากด้านซ้ายบนลงไปที่กึ่งกลางด้านล่างจากนั้นกลับสู่ด้านบนขวาหรือไม่? หรือว่าเราจะก้าวหน้าไปในทางที่ V ทำทุกอย่างให้สูงขึ้นก่อนที่สินค้าจะต่ำลง อินเทอร์เน็ตขาดคำอธิบายที่เพียงพอของรุ่นนี้ มันจะยอดเยี่ยมถ้ามีใครสามารถอธิบายได้ในรูปแบบ StackExchange จริง :)

3
REST APIs การกำหนดเวอร์ชัน แต่ละ API มีเวอร์ชันของตัวเอง
เป็นเรื่องธรรมดามากที่จะระบุเวอร์ชันของ REST API ใน URL โดยเฉพาะที่จุดเริ่มต้นของเส้นทางนั่นคือ: POST /api/v1/accounts GET /api/v1/accounts/details อย่างไรก็ตามฉันไม่เห็นการออกแบบที่เกี่ยวข้องกับแต่ละ API กล่าวอีกนัยหนึ่งเรารักษาเวอร์ชันของแต่ละ API แยกจากกัน เช่น: POST /api/accounts/v2 GET /api/accounts/details/v3 การใช้วิธีการนี้ทำให้เราเพิ่มรุ่น API ของ API ที่เฉพาะเจาะจงเมื่อจำเป็นต้องทำการแตกหักการเปลี่ยนแปลงไม่จำเป็นต้องเพิ่มรุ่น API ทั้งหมด อะไรคือข้อเสียของการใช้สไตล์นี้แทนสไตล์ทั่วไป?

2
มีใครทำใบรับรอง CSDP หรือไม่ [ปิด]
ตามที่เป็นอยู่ในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบคำถาม & คำตอบของเรา เราคาดหวังคำตอบที่จะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้มีแนวโน้มที่จะเรียกร้องให้มีการอภิปรายโต้แย้งโต้แย้งหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงและเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อขอคำแนะนำ ปิดให้บริการใน7 ปีที่ผ่านมา ฉันกำลังดูการรับรองที่สามารถเพิ่มพูนความรู้และมูลค่าตลาดของฉันในฐานะวิศวกรซอฟต์แวร์ Professional Software Development (CSDP) ที่ผ่านการรับรองของ IEEE ได้รับความสนใจจากฉัน เมื่อฉันดูข้อมูลจากประสบการณ์ออนไลน์ของผู้ใช้ฉันไม่สามารถพบสิ่งใดได้เลย ดูเหมือนจะไม่เป็นที่นิยมเกินไป และแน่นอนฉันไม่ได้ยินใครในองค์กรของฉันหรือกลุ่มเพื่อนที่ทำเช่นนั้น ฉันต้องการทราบจากสมาชิกชุมชนหากใครได้ทำการรับรองนี้และประสบการณ์ของพวกเขาด้วยเหมือนกัน เป็นใบรับรองที่มีประโยชน์ในแง่ของความรู้ มันเพิ่มน้ำหนักให้เรซูเม่ของคุณหรือไม่?
15 engineering  csdp 

3
นักพัฒนาในการทดสอบคืออะไร? [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน4 ปีที่แล้ว เมื่อเร็ว ๆ นี้ฉันได้พูดคุยกับนายหน้าที่ต้องการให้ฉันเป็น บริษัท ในตำแหน่ง Developer in Test เขาทำให้มันฟังดูเหมือนเป็นตำแหน่งที่คุณคุ้นเคยกับเทคนิคการเขียนโปรแกรมใหม่และทดสอบข้อบกพร่องและปรับปรุงซอฟต์แวร์ แต่คุณไม่ต้องกังวลเกี่ยวกับกำหนดเวลามาตรฐาน คุณมีความคิดสร้างสรรค์ในงานของคุณ แต่คำอธิบายนั้นยังคงคลุมเครือสำหรับฉัน ฉันเป็น Web Developer มาหลายปีแล้วส่วนใหญ่ทำงานใน PHP ดังนั้นฉันอยากรู้ว่าคนอื่น ๆ ในชุมชนรู้เพิ่มเติมเกี่ยวกับตำแหน่งเหล่านี้โดยทั่วไปหรือไม่ ฉันรู้ว่านี่อาจไม่เหมาะสมสำหรับฟอรัมนี้ แต่มันเป็นแบบที่ดีที่สุดที่ฉันสามารถหาได้ใน Stack Exchange และฉันจะขอบคุณถ้ามันไม่ได้ปิดเพราะไม่มีที่อื่นที่นี่เพื่อถามเกี่ยวกับมัน . ฉันลองใช้ Google แล้ว แต่มีข้อมูลไม่มากนัก นักพัฒนาในการทดสอบคืออะไร?

7
ฉันสามารถสมัครงาน“ วิศวกรซอฟต์แวร์” โดยไม่ต้องเป็นวิศวกรได้หรือไม่? [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นหัวข้อสำหรับ Software Engineering Stack Exchange ปิดให้บริการใน5 ปีที่ผ่านมา ฉันมาจากประเทศที่คำว่า "วิศวกร" หรือ "วิศวกรรม" ถูกควบคุมโดยกฎหมายอย่างเคร่งครัด ซึ่งหมายความว่าคุณจะต้องสำเร็จการศึกษาด้านวิศวกรรมและผ่านการสอบเพื่อเข้าร่วมสมาคมวิชาชีพของวิศวกรเพื่อใช้ชื่อเรื่อง ฉันสับสนเล็กน้อยเกี่ยวกับคำว่า "วิศวกรซอฟต์แวร์" ที่ใช้ในอุตสาหกรรมทั่วโลก ฉันอ่านหน้าวิกิพีเดียในวิศวกรซอฟต์แวร์และส่วนที่เชื่อมโยงของหน้าเกี่ยวกับการใช้คำซึ่งเสนอการสนทนาในเชิงลึก อย่างไรก็ตามคำถามของฉันค่อนข้างชัดเจน รู้ว่าฉันยังไม่จบปริญญาวิศวกรรม (แต่ฉันชอบคิดว่าฉันผลิตซอฟต์แวร์ที่ออกแบบมาอย่างดี!) เมื่อฉันเห็นการเปิดสำหรับวิศวกรซอฟต์แวร์จาก บริษัท ระหว่างประเทศ ? ฉันควรจะเน้นว่าฉันไม่ได้ปริญญาวิศวกรรมหรือไม่?

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

2
จะทราบได้อย่างไรว่าต้องทำอะไรในการออกแบบเชิงวัตถุ
ข้อสงวนสิทธิ์แรก: ฉันไม่รู้จริงๆว่าคำถามนี้เหมาะกับเว็บไซต์นี้หรือไม่ แต่ฉันก็ยังพบว่าเป็นคำถามที่เกี่ยวข้องไม่ใช่เฉพาะกับฉัน แต่สำหรับคนอื่น ๆ ที่เป็นผู้เริ่มต้น หากคำถามสามารถปรับปรุงให้เหมาะกับที่นี่โปรดชี้ให้เห็นความคิดเห็น int หากมันไม่พอดีโปรดแจ้งให้ฉันทราบด้วยและหากเป็นไปได้โปรดแจ้งให้เราทราบว่าสามารถพูดคุยเรื่องนี้ได้ที่ไหนเพราะฉันไม่พบฟอรัมที่ดีสำหรับเรื่องนี้ ฉันเรียนรู้ที่จะเขียนโปรแกรมในปี 2009 เมื่อฉันเรียน PHP ต่อมาในปี 2012 ฉันย้ายไปที่ C # และ. NET อย่างไรก็ตามการเขียนโค้ดไม่ใช่ปัญหาการจดอัลกอริธึมไม่ใช่ปัญหาของฉัน ปัญหาที่เกิดขึ้นจริงของฉันคือการรู้ว่าสิ่งที่จะต้องมีการเข้ารหัสเพื่อให้บรรลุความต้องการและการที่มันจะต้องมีการเข้ารหัส หลักสูตรส่วนใหญ่ที่มีอยู่บนเว็บจัดการวิธีการเขียนโค้ดในภาษาบางภาษาวิธีใช้ API บางชุด ฯลฯ นั่นไม่ใช่ประเด็นของฉันที่นี่ ในปีที่ผ่านมาฉันได้อ่านสิ่งต่างๆมากมาย: การวิเคราะห์และออกแบบเชิงวัตถุรูปแบบการออกแบบการออกแบบโดยใช้โดเมนเป็นต้น ฉันเข้าใจตัวอย่างเช่นหลักการ SOLID แนวคิดหลักบางประการของ DDD เช่นความจำเป็นในการมีส่วนร่วมของผู้เชี่ยวชาญด้านโดเมนการพัฒนาภาษาที่แพร่หลายและอื่น ๆ ฉันจะกล้าพูดว่าฉันมีพื้นฐานทางทฤษฎีอย่างน้อยเหมาะสม แต่เมื่อพูดถึงการฝึกฝนฉันรู้สึกว่าฉันเป็นหายนะ เมื่อไม่นานมานี้ฉันจำเป็นต้องพัฒนาระบบการเงินที่ถูกพัฒนาโดยบุคคลอื่นต่อไป มันเป็น "ระบบเก่า" ที่พัฒนาด้วย C # และ WinForms นี่เป็นครั้งแรกที่ฉันเลือกโครงการที่มีความซับซ้อนของโดเมนจริงด้วยกฎเกณฑ์ทางธุรกิจมากมายและอื่น ๆ ฉันยอมรับว่าเมื่อฉันได้รับข้อกำหนดเกือบตลอดเวลาฉันคิดว่า "จะทำอย่างไรในโลกนี้?" - …

6
สิ่งที่จำเป็นต้องเปลี่ยนเพื่อให้วิศวกรรมซอฟต์แวร์กลายเป็นอาชีพที่เป็นทางการ
แตกต่างจากอาชีพอื่น ๆ (เช่นการบัญชี, กฎหมาย, การแพทย์, ฯลฯ ) ไม่มีการรับรองทั่วทั้งอาชีพสำหรับวิศวกรรมซอฟต์แวร์ ฉันตระหนักดีถึงความหลากหลายของเทคโนโลยีและวิธีการรับรองเฉพาะที่มีจุดประสงค์เพื่อใช้เป็นหลักฐานของความเชี่ยวชาญและประสบการณ์ แต่ไม่มีสังคมวิศวกรรมซอฟต์แวร์สาธารณะ / องค์กรปกครองที่กำหนด (และมีอำนาจในการประเมินตามกฎหมาย) มาตรฐานวิชาชีพที่ยอมรับโดยทั่วไป . ฉันเข้าใจว่าซอฟต์แวร์นั้นเป็นสัตว์เดรัจฉาน - เป็นส่วนศิลปะศาสตร์ - แต่ฉันสงสัยว่าวิศวกรรมซอฟต์แวร์มีศักยภาพที่จะเป็นอาชีพที่เป็นทางการหรือไม่ อะไรคือสิ่งที่ต้องเปลี่ยนแปลงเพื่อให้เกิดสิ่งนี้และมันจะเป็นสิ่งที่ดีหรือไม่? (ถ้าใครรู้การวิจัยอย่างเป็นทางการในหัวข้อนี้ฉันจะขอบคุณอ้างอิงอย่างมาก) ปรับปรุง ฉันเห็นด้วยกับคะแนนที่ดีมากมายด้านล่างเกี่ยวกับการรับรองระดับปัจจุบันในวิศวกรรมซอฟต์แวร์ ฉันยังพบว่ามันน่าสนใจมากที่บางประเทศถือว่าวิศวกรรมซอฟต์แวร์เป็นอาชีพในขณะที่คนอื่นไม่ทำ อย่างไรก็ตามดูเหมือนว่าจะมีผ้าห่อศพล้อมรอบคำว่า "วิชาชีพที่เป็นทางการ" และจะนำไปใช้กับวิศวกรรมซอฟต์แวร์อย่างไร ฉันคิดว่าประเด็นสำคัญของวิศวกรรมซอฟต์แวร์ - และเหตุผลหลักที่ไม่ใช่อาชีพที่เต็มไปด้วยลม - นั่นคือถ้าคุณเป็นวิศวกรซอฟต์แวร์ที่ได้รับการรับรองและ - ตัวอย่างเช่น - ซอฟต์แวร์บางอย่างที่คุณเขียนเพื่อลิฟต์ทำงานผิดปกติและฆ่าคน การรับรองและ / หรือการเป็นสมาชิกของคุณกับองค์กรวิชาชีพที่เป็นทางการจะไม่ถูกเพิกถอน แน่นอนว่า บริษัท ของคุณอาจถูกฟ้องร้องเป็นล้านและคุณอาจสูญเสียงานของคุณและได้รับการอ้างอิงที่ไม่ดี แต่โดยทั่วไปแล้วคุณจะได้รับการคุ้มครองโดยบุคคลที่มีความรับผิด จำกัด อันเป็นผลมาจากการถูกว่าจ้างโดย บริษัท ดังกล่าว ในคำอื่น ๆ …

1
มีการศึกษาเชิงประจักษ์เกี่ยวกับผลกระทบของการคอมเม้นท์ซอร์สโค้ดต่อคุณภาพของซอฟต์แวร์ความสามารถในการบำรุงรักษาและประสิทธิภาพของนักพัฒนาหรือไม่? [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นหัวข้อสำหรับ Software Engineering Stack Exchange ปิดให้บริการใน6 ปีที่ผ่านมา ฉันเป็นผู้สนับสนุนให้ความเห็นเกี่ยวกับซอร์สโค้ดและการทำเอกสารผลิตภัณฑ์ซอฟต์แวร์ มันเป็นประสบการณ์ส่วนตัวและการสังเกตของฉันว่าการทำงานกับซอร์สโค้ดที่แสดงความคิดเห็นอย่างจริงจังได้ช่วยฉันในรูปแบบที่แตกต่างกันเมื่อฉันต้องเติบโตซอฟต์แวร์หรือบำรุงรักษามัน อย่างไรก็ตามมีอีกค่ายหนึ่งที่กล่าวว่าการแสดงความคิดเห็นนั้นไร้ค่าในที่สุดหรือคุณค่าของมันนั้นน่าสงสัย ผู้เสนอการเข้ารหัสจำนวนมากโดยไม่แสดงความเห็นแย้งว่า: หากโค้ดหนึ่งชิ้นเขียนได้ดีก็จะเป็นการอธิบายตนเองและไม่จำเป็นต้องแสดงความคิดเห็น หากโค้ดหนึ่งชิ้นไม่สามารถอธิบายตัวเองได้ให้ทำการรีแฟคเตอร์ใหม่และทำให้มันอธิบายได้ด้วยตนเองเพื่อที่ว่ามันจะไม่ต้องการความคิดเห็นใด ๆ ชุดทดสอบของคุณคือเอกสารสด เมื่อเวลาผ่านไปรหัสและความคิดเห็นไม่ซิงค์กันและจะกลายเป็นแหล่งที่มาของอาการปวดหัว Agile กล่าวว่ารหัสการทำงานสำคัญกว่ากองเอกสารดังนั้นเราจึงสามารถละเว้นการเขียนความคิดเห็นได้อย่างปลอดภัย สำหรับฉันนี่เป็นเพียงความเชื่อ อีกครั้งการสังเกตส่วนตัวของฉันคือซอฟต์แวร์ที่เขียนโดยทีมนักพัฒนาที่ชาญฉลาดและมีประสบการณ์ท้ายที่สุดก็จบลงด้วยรหัสจำนวนมากที่ไม่ได้อธิบายตัวเอง อีกครั้งที่ Java API, Cocoa API, Android API ฯลฯ แสดงว่าหากคุณต้องการเขียนและดูแลรักษาเอกสารที่มีคุณภาพเป็นไปได้ การพูดถึงสิ่งเหล่านี้การสนทนาเกี่ยวกับข้อดีข้อเสียของการจัดทำเอกสารและการแสดงความคิดเห็นในซอร์สโค้ดที่อิงตามความเชื่อส่วนตัวมักจะไม่จบลงและนำไปสู่ข้อสรุปที่ไม่พึงพอใจ ดังนั้นฉันกำลังมองหาเอกสารทางวิชาการและการศึกษาเชิงประจักษ์เกี่ยวกับผลกระทบของเอกสารประกอบซอฟต์แวร์โดยเฉพาะการแสดงความคิดเห็นซอร์สโค้ดต่อคุณภาพและการบำรุงรักษารวมถึงผลกระทบต่อประสิทธิภาพการทำงานของทีม คุณได้สะดุดกับบทความดังกล่าวและสิ่งที่เป็นผลของพวกเขาถ้ามี?

4
วิธีที่ดีที่สุดในการจัดการผู้จัดการที่ไม่ใช่ด้านเทคนิคที่ผิดพลาดและยังคงทำงานที่ดีได้อย่างไร [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นหัวข้อสำหรับ Software Engineering Stack Exchange ปิดให้บริการใน7 ปีที่ผ่านมา คำถามนี้อาจถูกพิจารณาว่าเป็นอัตนัย (ฉันได้รับคำเตือน) และถูกปิด แต่ฉันจะเสี่ยงเพราะฉันต้องการคำแนะนำ / ประสบการณ์ที่ดีเกี่ยวกับเรื่องนี้ ฉันอ่านต่อไปนี้ที่หน้า'เกี่ยวกับ'ของFog Creek Softwareบริษัท ที่Joel Spolskyก่อตั้งขึ้นและเป็น CEO ของ: ย้อนกลับไปในปี 2000 ผู้ก่อตั้ง Fog Creek, Joel Spolsky และ Michael Pryor กำลังมีปัญหาในการหาที่ทำงานที่โปรแกรมเมอร์มีสภาพการทำงานที่ดีและมีโอกาสได้ทำงานที่ยอดเยี่ยมโดยไม่ต้องหยุดงาน ทาง บริษัท เทคโนโลยีชั้นสูงทุกคนอ้างว่าพวกเขาต้องการโปรแกรมเมอร์ที่ยอดเยี่ยม แต่พวกเขาจะไม่เอาเงินของพวกเขาไปที่ปาก มันเริ่มต้นด้วยสภาพแวดล้อมทางกายภาพ (ที่มีหลายสิบ cubicles ติดอยู่ในห้องมืดเสียงดังที่พนักงานขายตะโกนบนโทรศัพท์ทำให้เป็นไปไม่ได้สำหรับนักพัฒนาที่จะมีสมาธิ) แต่มันลึกกว่านั้นมาก ผู้จัดการที่หวาดกลัวต่อการเปลี่ยนแปลงได้ปฏิบัติต่อความคิดใหม่ ๆ ว่าเป็นไวรัสที่แปลกประหลาดที่ถูกกักกัน ผู้จัดการจูเนียร์ที่มีความซับซ้อนของนโปเลียนยืนยันว่าสิ่งต่าง ๆ จะเกิดขึ้นอย่างแน่นอนหรือคุณถูกไล่ออก …

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