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

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

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

4
เหตุใดการดูข้อความจึงมีความล่าช้าในเว็บไซต์ส่วนใหญ่
โปรดสังเกตว่าจำนวนการดูวิดีโอของ youtube มีความล่าช้าหรือไม่ ตัวอย่างเช่นวิดีโอมีความคิดเห็น 1,000 รายการและยังมีการเข้าชม 500 ครั้งและจะมีการเข้าชม 10,000 ครั้งหลังจากนั้น Youtube ไม่ได้อยู่คนเดียวในเรื่องนี้ กระดานข้อความส่วนใหญ่มีการใช้งานด้วยวิธีดังกล่าวและจำนวนการดูจะได้รับการอัปเดตทุก ๆ 10 นาที ไม่มีใครรู้เหตุผลที่อยู่เบื้องหลังสิ่งนี้? ขอบคุณ
10 caching 

5
คุณมีบทคัดย่อ / ชั้นเรียนว่างเปล่าได้ไหม
แน่นอนคุณทำได้ฉันแค่สงสัยว่ามันมีเหตุผลในการออกแบบในลักษณะนี้ ฉันทำโคลน breakout และกำลังออกแบบคลาส ฉันต้องการใช้การสืบทอดแม้ว่าฉันไม่จำเป็นต้องใช้สิ่งที่ฉันเรียนรู้ใน C ++ ฉันกำลังคิดเกี่ยวกับการออกแบบชั้นเรียนและเกิดขึ้นกับสิ่งนี้: GameObject -> ชั้นฐาน (ประกอบด้วยสมาชิกข้อมูลเช่นชดเชย X และ Y และเวกเตอร์ของ SDL_Surface * a MovableObject: GameObject -> ระดับนามธรรม + ชั้นเรียนมาของ GameObject (วิธีหนึ่งย้ายเป็นโมฆะ () = 0;) NonMovableObject: GameObject -> คลาสที่ว่างเปล่า ... ไม่มีเมธอดหรือสมาชิกข้อมูลอื่นนอกจากตัวสร้างและ destructor (อย่างน้อยตอนนี้หรือไม่) ต่อมาฉันวางแผนที่จะรับคลาสจาก NonMovableObject เช่น Tileset: NonMovableObject ฉันแค่สงสัยว่าคลาสนามธรรม "ว่างเปล่า" หรือแค่คลาสว่างมักใช้ ... ฉันสังเกตว่าวิธีที่ฉันทำเช่นนี้ฉันแค่สร้างคลาส NonMovableObject เพื่อประโยชน์ในการจัดหมวดหมู่ …

4
อะไรทำให้ทรัพยากร“ แพง”?
ฉันกำลังอ่านจำศีลและฉันพบข้อความเช่น "การเชื่อมต่อ JDBC ที่เปิดในหลาย ๆ คำขอไม่ใช่สิ่งที่ดีเพราะเป็นทรัพยากรที่มีราคาแพง" ทรัพยากรราคาแพงหมายถึงอะไร? แก้ไข: ฉันกำลังเพิ่มสิ่งที่ผู้ใช้ที่ไม่รู้จักได้เพิ่มไว้เป็นความคิดเห็นด้านล่าง หากการสร้างการเชื่อมต่อฐานข้อมูลมีราคาแพงแล้วทำไมไม่ใช้สิ่งเดียวกันซ้ำแล้วซ้ำอีก (ไม่ใช่แคช) แทนที่จะปิดและเปิดทุกครั้ง?

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

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

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

3
การดิ้นรนเพื่อไม่ใช้สัญกรณ์ฮังการี
ผมเคยเห็นการขัดแย้งและการต่อต้านระบบฮังการี เป็นเวลาหลายปีที่ฉันได้ทำงานในโครงการแบบดั้งเดิมที่ใช้ระบบนี้โดยการตั้งชื่อตัวแปรทุกตัวทำงานด้วยคำนำหน้าของประเภทตัวแปรเช่น (strName, intAge, btnSubmit ฯลฯ ) (ฉันรู้ว่าคำนำหน้าแอพภาษาฮังการีต้นฉบับตามประเภท ตัวแปรไม่ใช่ชนิด) ฉันต้องการให้โครงการต่อไปของฉันละทิ้งไปอย่างสมบูรณ์ แต่ฉันคิดว่ามันยากกว่าที่จะบอกชื่อของสิ่งที่คล้ายกันโดยไม่ต้องใช้มัน ให้บอกว่าฉันมีรูปแบบเว็บสำหรับรวบรวมที่อยู่อีเมลและเก็บไว้ในตารางฐานข้อมูลและปุ่มที่เรียกใช้ฟังก์ชันที่บันทึกที่อยู่ลงในฐานข้อมูล หากฉันใช้สัญกรณ์สไตล์ฮังการีผมอาจจะเรียกกล่องtxtEmailปุ่มและความคุ้มค่าที่มีอยู่ในช่องbtnEmail strEmailฉันอาจใช้ฟังก์ชันstoreEmail(strEmail)เพื่อเก็บอีเมล ฉันมีการประชุมที่ชัดเจนที่นี่มันชัดเจนว่าแต่ละตัวแปรคืออะไร อะไรจะเป็นการปฏิบัติที่ดีที่สุดสำหรับการตั้งชื่อตัวแปรเหล่านี้ โดยไม่ต้องหันไปใช้ระบบของฮังการี โดยไม่ทำให้นานเกินไปหรือทำให้สับสน และด้วยการประชุมที่ชัดเจนที่จะใช้ในโครงการทั้งหมดของฉัน
10 naming  hungarian 

13
มันแย่ไหมที่คุณไม่ได้เขียนโปรแกรมตามเวลาว่างขณะอยู่ที่มหาวิทยาลัย? [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน6 ปีที่ผ่านมา มีคำถามบางอย่างเกี่ยวกับการไม่เขียนโปรแกรมในเวลาว่างของคุณ แต่พวกเขาทั้งหมดกังวลเมื่อคุณทำงาน เมื่อคุณเรียนอยู่ คุณจำเป็นต้องเรียนรู้เกี่ยวกับเวลาว่างของคุณเมื่อคุณได้เรียนรู้ในช่วงกลางวัน (ที่มหาวิทยาลัย) หรือไม่?
10 learning 


2
รูปแบบการออกแบบ GOF ใดที่มีการใช้งานแล้วเป็นคุณสมบัติภาษาชั้นหนึ่งใน C #?
(คำถามนี้ถูกปิดใน Stack Overflow เนื่องจากเป็น "กว้างเกินไป" และ "ไม่ใช่คำถามจริง" ดังนั้นอาจเหมาะสมกว่าหรือไม่) แรงบันดาลใจจากคำถามนี้ เรารู้ว่าเหตุการณ์ต่าง ๆ เป็นการนำภาษาไปใช้ในรูปแบบของผู้สังเกตการณ์ มีรูปแบบการออกแบบอื่น ๆ ที่ใช้งานเป็นภาษาใน C # หรือไม่ ฉันต้องการเก็บคำถามนี้ C # - เฉพาะเพราะมีรูปแบบการออกแบบจำนวนมากถูกนำไปใช้ในภาษาอื่นและฉันต้องการรักษาจุดเน้นนี้ ฉันไม่ได้มองหาการปรับใช้รูปแบบใน BCL (เช่นมัณฑนากรในคลาส WCF หรือวิธีการของโรงงานWebClient) แต่เป็นรูปแบบระดับภาษา จนถึงตอนนี้ฉันตระหนักถึงผู้สังเกตการณ์ ( event) และตัววนซ้ำ ( foreachเมื่อรวมกับคลาสและอินเตอร์เฟส BCL จำนวนมาก) อาจมีสิ่งที่ชัดเจนอื่น ๆ ที่ฉันหายไป

4
การฉีดพึ่งพาอาศัยกันสามารถรวมเข้ากับภาษาได้อย่างไร? [ปิด]
ปิด คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้มุ่งเน้นที่ปัญหาเดียวโดยแก้ไขโพสต์นี้ ปิดให้บริการใน4 ปีที่แล้ว ฉันได้คิดเล็กน้อยเกี่ยวกับวิธีการฉีดพึ่งพาสามารถบูรณาการโดยตรงในภาษา C # เช่น ฉันคิดวิธีแก้ปัญหาที่เป็นไปได้ฉันอยากฟังความคิดเห็นของคุณ ฉันไม่ได้ใช้กรอบการฉีดพึ่งพาหลายคนดังนั้นอาจมีบางสิ่งที่ฉันมองเห็น อย่างไรก็ตามแนวคิดก็คือสามารถประกาศคุณสมบัติเป็น "ฉีดได้" โดยใช้คำหลัก เมื่อวัตถุถูกยกตัวอย่างและคุณสมบัตินั้นไม่ได้เริ่มต้นผ่านตัวสร้างหรือวัตถุเริ่มต้นมันขอตัวอย่างของคุณสมบัติประเภทนั้นจากบริการระดับโลกบางอย่าง ในทำนองเดียวกันคุณลงทะเบียนเครื่องจัดการสำหรับประเภทที่แตกต่างกับบริการนั้นเพื่อให้คุณสามารถยกตัวอย่างประเภททรัพย์สินที่ฉีด ข้อดีของการใช้สถาปัตยกรรม IMO ประเภทนี้คือความยืดหยุ่นและใช้งานง่าย ข้อเสียคืออาจมีค่าใช้จ่ายในการทำไฮไลต์บางครั้งในแต่ละครั้งที่คุณเริ่มชั้นเรียนที่มีการฉีด จากนั้นอีกครั้งนั่นเป็นเพียงปัญหาสำหรับคลาสที่รับอินสแตนซ์บ่อยในโซลูชันที่มีประสิทธิภาพสูงดังนั้นจึงไม่ควรเป็นปัญหามากนัก บางทีคุณอาจใช้โรงงานบางประเภทในกรณีเหล่านั้น ความคิดปัญหาคำถามความคิดที่ดีกว่า รหัส public class SomeClass { public SomeClass() { //implicit behavior if Animal is not set in constructor or initializer this.Animal = GlobalInjector.Get(this,typeof(Mammal)) } public injectable …

9
มหาวิทยาลัยของฉันไม่ได้จัดหลักสูตร php เพราะเป็นภาษาโปรแกรม“ ง่าย” ใช่ไหม [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน5 ปีที่ผ่านมา ฉันพบนักเรียนจากแผนกวิทยาศาสตร์คอมพิวเตอร์และฉันค้นพบว่าพวกเขาสอนเฉพาะ java และ aspx ฉันถามเขาว่าทำไมพวกเขาไม่สอน php เพราะเป็นภาษาโปรแกรมอันดับหนึ่งบนเน็ต เขาบอกว่ามันเป็นภาษาการเขียนโปรแกรม "ง่าย" (หรืองานอดิเรก) ฉันไม่แน่ใจว่ามันหมายถึงอะไร ความคิดเห็นของคุณคืออะไร
10 php 

3
มีหลักฐานอะไรที่พิสูจน์ได้ว่านักพัฒนาแอพสมาร์ทโฟนมีรายได้เท่าไร? [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นหัวข้อสำหรับ Software Engineering Stack Exchange ปิดให้บริการใน5 ปีที่ผ่านมา ฉันกำลังพิจารณาที่จะสร้างแอพสมาร์ทโฟน ก่อนที่ฉันจะเริ่มฉันต้องการดูว่ามันคุ้มค่าหรือไม่ โชคไม่ดีที่ฉันพบว่ามันยากมากที่จะพบหลักฐานที่ชัดเจนว่าผู้พัฒนาแอพดังกล่าวได้รับรายได้เท่าใดจากการซื้อแอปพลิเคชันหรือโฆษณาในแอป การวิจัยที่ดีที่สุดที่ฉันได้พบจนถึงขณะนี้ว่าแอพ IPhone โดยเฉลี่ยมีรายได้682 $ต่อปี จากนั้นอีกครั้งมีแอพจำนวนมากที่ไม่สามารถใช้งานได้และรายได้ของพวกเขาจะนับรวมอยู่ในสถิตินี้ ดังนั้นฉันจึงเป็นตัวอย่างเฉพาะของแอพและรายได้ของแอป

9
คุณควรอธิบายถึงรูปแบบการออกแบบสำหรับคนที่อยู่นอก Software World อย่างไร
ฉันต้องการอธิบายรูปแบบการออกแบบให้หลานสาวของฉัน แต่มักจะพยายามทำเช่นนั้น ส่วนใหญ่เป็นเพราะการที่ฉันไม่เข้าใจรูปแบบการออกแบบที่ชัดเจน คุณแนะนำให้อธิบายรูปแบบเช่น MVC, Singleton, Factory, Repository และอื่น ๆ ในแง่ง่าย ๆ ที่แม้แต่เด็กอายุ 10 ขวบก็สามารถเข้าใจได้ ฉันกำลังมองหาตัวอย่างที่สามารถช่วยให้เข้าใจรูปแบบได้ง่ายขึ้น ตัวอย่างที่มีของเล่นภาพยนตร์เพลง ฯลฯ

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