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

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

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

10
ฉันจะได้รับเงินเพื่อลดหนี้ทางเทคนิคได้อย่างไร
ฉันกำลังทำงานให้กับ บริษัท ขนาดเล็กที่มีผลิตภัณฑ์ที่ซับซ้อนทางเทคนิคเล็กน้อย ฉันเป็นนักพัฒนาเพียงคนเดียวและหนึ่งในนั้น ประมาณหนึ่งปีที่ผ่านมาฉันได้รับผลิตภัณฑ์รุ่นเก่าและเริ่ม "สนับสนุน" ผลิตภัณฑ์ ลูกค้าพูดถึงคุณลักษณะใหม่มูลค่าทางธุรกิจและอื่น ๆ เท่านั้น ปัญหาคือแม้ว่ารหัสอยู่ใน C # มันค่อนข้างขั้นตอน ไม่มี abstractions จะใช้คลาสที่ Visual Studio ต้องการเท่านั้น - ฟอร์มเป็นต้น การใช้งานของคลาสเหล่านี้แย่จริงๆและรหัสยากที่จะรักษา ตลอดทั้งปีนี้ฉันใช้เวลาของตัวเองในการปรับโครงสร้าง ในเวอร์ชั่นล่าสุดมี abstractions ที่น่ารักและเป็นเช่นนั้น ฉันต้องนำส่วนประกอบมาใช้ใหม่ตั้งแต่เริ่มต้นและฉันรู้สึกว่าการเพิ่มคุณสมบัติใหม่หรือเปลี่ยนพฤติกรรมให้กับองค์ประกอบเหล่านี้นั้นง่ายกว่ามากสำหรับคนอื่น ๆ ปัญหาคือฉันใช้เวลาของตัวเอง ฉันชอบผลลัพธ์มาก แต่ฉันไม่ชอบทำงาน 12 ชั่วโมงต่อวัน คุณเคยอยู่ในสถานการณ์ที่คล้ายคลึงกันไหม? ฉันควรลองทำอะไร ฉันได้ลองคุยกันแล้ว แต่ก็ยังไม่ประสบความสำเร็จ ฉันแค่กลัวเมื่อเราตัดสินใจใช้คุณลักษณะใหม่ที่ต้องมีการเปลี่ยนแปลงรหัสเดิมมากมาย นั่นอาจทำให้ลูกค้าตกใจ: ทำไมคุณต้องใช้เวลา 8 ชั่วโมงในการเปลี่ยนไอคอนเหล่านี้ ลูกค้าไม่สนใจว่ามี 500 ตำแหน่งในรหัสที่ฉันต้องการเปลี่ยน และฉันควรจะหาสถานที่ทั้ง 500 แห่งนี้ก่อน ความคิดใด …

4
ความสัมพันธ์และความแตกต่างระหว่าง SGML, XML, HTML และ XHTML
ฉันสงสัยว่า "โปรไฟล์" หมายถึงอะไรในWikipedia : XML เป็นโปรไฟล์ของ SGML มาตรฐาน ISO และ XML ส่วนใหญ่มาจาก SGML ที่ไม่เปลี่ยนแปลง ตามที่ http://xml-tips.assistprogramming.com/sgml-xml-html-xhtml-all-together.html : HTML เป็นชุดย่อยของ SGML XML เป็นชุดย่อยที่ใช้งานได้ดีของ SGML XHTML ขยายและย่อย HTML "หนึ่งเป็นส่วนย่อยของอีกคน" หมายความว่ารหัสในครั้งแรกยังถูกต้อง syntactically และ semantically เหมือนกันในครั้งที่สองหรือไม่ ในความหมายของทฤษฎีเซตเบื้องต้น HTML, XML และ XHTML เป็นชุดย่อยของ SGML ที่แตกต่างกันหรือไม่ XML และ HTML เกือบจะไม่ตัดกันหรือไม่ XHTML เป็นชุดของทั้ง XML และ HTML หรือไม่ …
16 html  xml  xhtml 

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

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

3
ฐานข้อมูลเอกสารกับฐานข้อมูลเชิงสัมพันธ์: วิธีการเลือก?
ฉันเป็นคน SQL แต่ฉันรู้ว่ามีฐานข้อมูลSQL ไม่เพียง - ฐานข้อมูลเอกสารส่วนใหญ่ เช่นเดียวกับเทคโนโลยีส่วนใหญ่มีข้อดีและข้อเสียสำหรับแต่ละเทคโนโลยี ฉันได้อ่านบทความมาแล้ว แต่พวกเขาก็มีเหตุผลมากเกินไป สิ่งที่ฉันต้องการคือสองกรณีจริง: เมื่อเปลี่ยนจาก relational- เป็น document-database ให้การปรับปรุง เมื่อเปลี่ยนจากเอกสาร - เป็นฐานข้อมูลเชิงสัมพันธ์ให้การปรับปรุง การปรับปรุงเป็นสิ่งที่ทำให้โปรแกรมดีขึ้น - ลดเวลาในการพัฒนาน้อยลง, ปรับขนาดได้, ประสิทธิภาพ, ทุกอย่างที่เกี่ยวข้องกับการเขียนโปรแกรม มีข้อแม้สำหรับ 2: เรื่องราวเช่น "ถอยกลับไปยังฐานข้อมูลเชิงสัมพันธ์เพราะทุกคนรู้ว่า SQL" ไม่ดี

4
แบบฟอร์ม Django ละเมิด MVC หรือไม่
ฉันเพิ่งเริ่มทำงานกับ Django ที่มาจาก Spring MVC มาหลายปีและรูปแบบการติดตั้งใช้งานเหมือนเป็นบ้าเล็กน้อย หากคุณไม่คุ้นเคยรูปแบบ Django จะเริ่มต้นด้วยคลาสของโมเดลโมเดลที่กำหนดฟิลด์ของคุณ ฤดูใบไม้ผลิเริ่มต้นคล้ายกับวัตถุการสนับสนุนแบบฟอร์ม แต่ที่ Spring จัดเตรียมtaglibสำหรับการรวมองค์ประกอบของฟอร์มเข้ากับวัตถุสำรองภายใน JSP ของคุณ Django มีวิดเจ็ตของฟอร์มที่เชื่อมโยงโดยตรงกับโมเดล มีวิดเจ็ตเริ่มต้นที่คุณสามารถเพิ่มแอตทริบิวต์สไตล์ให้กับฟิลด์ของคุณเพื่อใช้ CSS หรือกำหนดวิดเจ็ตที่กำหนดเองอย่างสมบูรณ์เป็นคลาสใหม่ ทุกอย่างจะไปในรหัสหลามของคุณ ที่ดูเหมือนว่าถั่วกับฉัน ก่อนอื่นคุณจะใส่ข้อมูลเกี่ยวกับมุมมองของคุณโดยตรงในแบบจำลองของคุณและประการที่สองคุณจะผูกพันรูปแบบของคุณกับมุมมองที่เฉพาะเจาะจง ฉันพลาดอะไรไปรึเปล่า? แก้ไข: โค้ดตัวอย่างบางส่วนตามที่ร้องขอ Django: # Class defines the data associated with this form class CommentForm(forms.Form): # name is CharField and the argument tells Django to use a …
16 mvc  django 

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

7
มีการใช้รูปแบบ MVC ในอุตสาหกรรมหรือไม่ hype ทั้งหมดคืออะไร? [ปิด]
ตามที่เป็นอยู่ในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบคำถาม & คำตอบของเรา เราคาดหวังคำตอบที่จะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้อาจเรียกร้องให้มีการถกเถียงโต้แย้งโต้แย้งหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงและเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อขอคำแนะนำ ปิดให้บริการใน7 ปีที่ผ่านมา ฉันเป็นนักเรียน แต่ฉันหวังว่าจะได้ย้ายเข้าสู่อุตสาหกรรมซอฟต์แวร์ในไม่ช้า ดูเหมือนว่ามีโฆษณาจำนวนมากเกี่ยวกับรูปแบบซอฟต์แวร์ MVC ฉันสังเกตเห็นว่ากรอบ PHP มักจะเป็น MVC แล้วภาษาที่ไม่ใช่เว็บเป็นอย่างไรกับพวกเขา สำหรับวิทยานิพนธ์ปริญญาโทของฉัน (C ++) ฉันเลือกรูปแบบ MVC เพราะแยกตรรกะและส่วนติดต่อผู้ใช้ออกเป็นอย่างดี ในอุตสาหกรรมมันใช้บ่อยไหม? ถ้าเป็นเช่นนั้นอะไรคือสาเหตุหลักและการออกแบบยอดนิยมอื่น ๆ
16 mvc 

4
จะใช้แฟล็ก -pedantic ใน g ++ หรือไม่?
ฉันกำลังเรียนรู้ C ++ และฉันใช้ g ++ บน Linux เพื่อฝึกฝน ฉันต้องการทราบว่าผู้ที่ทำงานเป็นโปรแกรมเมอร์ใช้ g ++ -pedantic flag และยังมีความสำคัญในโลกแห่งความเป็นจริงหรือไม่ แล้วคอมไพเลอร์ตัวอื่น ๆ พวกเขาอนุญาตแบบนี้หรือไม่? สิ่งนี้กลายเป็นมาตรฐานตามความเป็นจริงหรือไม่? ฉันสนใจเพราะฉันกำลังอ่าน C ++ Primer ซึ่งผู้เขียนชี้ให้เห็นว่าการใช้นิพจน์ที่ไม่ใช่ const เป็นมิติในการกำหนดอาเรย์และ g ++ โดยค่าเริ่มต้นอนุญาตให้ทำได้ และอาจมีสิ่งอื่นที่ฉันไม่รู้
16 c++  gcc 

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

7
CodeFirst มีไว้สำหรับการใช้งานขนาดใหญ่หรือไม่?
ฉันได้อ่านข้อมูลเกี่ยวกับ Entity Framework โดยเฉพาะ EF 4.1 และตามลิงก์นี้ ( http://weblogs.asp.net/scottgu/archive/2010/07/16/code-first-development-with-entity-) framework-4.aspx ) และเป็นแนวทางสำหรับ Code First ฉันคิดว่ามันเรียบร้อย แต่ฉันสงสัยว่า Code First ควรจะเป็นเพียงวิธีแก้ปัญหาสำหรับการพัฒนาอย่างรวดเร็วซึ่งคุณสามารถกระโดดได้อย่างถูกต้องโดยไม่ต้องวางแผนอะไรมาก

2
ทำความเข้าใจกับ Microsoft Public License (MS-PL)
ฉันกำลังดูการใช้ผลิตภัณฑ์โอเพนซอร์ซสองสามตัวในแอปพลิเคชันซอฟต์แวร์เชิงพาณิชย์ที่ฉันกำลังดำเนินการ หนึ่งในนั้นได้รับอนุญาตภายใต้ MIT ซึ่งฉันเข้าใจว่าอนุญาตให้เชื่อมโยงซอฟต์แวร์เชิงพาณิชย์ได้ อย่างไรก็ตามผลิตภัณฑ์โอเพ่นซอร์สอื่นได้รับอนุญาตภายใต้ MS-PL แต่ฉันไม่เข้าใจว่าใบอนุญาตนั้นเข้ากันได้อย่างสมบูรณ์กับซอฟต์แวร์เชิงพาณิชย์ ดังนั้นคำถามคือฉันสามารถใช้ OSS ที่มีลิขสิทธิ์ของ MS-PL ในแอพพลิเคชั่นทางการค้า / กรรมสิทธิ์ / ขาย

4
ฉันจะรู้ได้อย่างไรว่าข้อมูลของฉันมีความสัมพันธ์หรือเชิงวัตถุโดยธรรมชาติ
แค่อ่านบรรทัดเหล่านี้ - หากข้อมูลของคุณเป็นวัตถุโดยทั่วไปให้ใช้ที่เก็บวัตถุ ("NoSQL") มันจะเร็วกว่าฐานข้อมูลเชิงสัมพันธ์ หากข้อมูลของคุณเป็นแบบเชิงสัมพันธ์ค่าใช้จ่ายของฐานข้อมูลเชิงสัมพันธ์จะคุ้มค่า จาก- http://seldo.com/weblog/2011/06/15/orm_is_an_antipattern ดังนั้นฉันจะรู้ได้อย่างไรว่าข้อมูลของฉันสัมพันธ์ในลักษณะเชิงวัตถุหรือไม่?

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

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