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

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

3
โปรดอธิบายข้อความที่ฟังก์ชั่น + b เป็นของ O (n ^ 2) และΘ (n)?
สมมติว่าฉันมีฟังก์ชั่นเชิงเส้นf(n)= an+bวิธีที่ดีที่สุดที่จะพิสูจน์ว่าฟังก์ชันนี้เป็นของ O (n 2 ) และΘ(n)อะไร ฉันไม่ต้องการความแม่นยำทางคณิตศาสตร์ที่นี่ ฉันต้องการโปรแกรมเมอร์ตอบ บางวิธีตรรกะในการอธิบาย นี่คือเหตุผลที่ฉันไม่ได้โพสต์คำถามในวิชาถาม - ตอบทางคณิตศาสตร์และแทนที่ในคำถามคำตอบโปรแกรมเมอร์

3
อะไรคือข้อเสียของการเริ่มต้นโครงการ opensource หากไม่มีโปรแกรมเมอร์ที่มีประสบการณ์? [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน4 ปีที่แล้ว ฉันมีความคิดมากมายสำหรับผลิตภัณฑ์ที่จะสร้าง ปัญหาคือฉันมีประสบการณ์การทำงานระดับมืออาชีพน้อยกว่าหนึ่งปีและฉันกลัวว่าจะถูกตัดสินในทางลบในอนาคตจากสิ่งที่ฉันผลิตตอนนี้ ฉันไม่รู้ว่ารหัสของฉันดีหรือไม่ ฉันไม่คุ้นเคยกับรูปแบบการเข้ารหัสใด ๆ ทั้งหมดที่ฉันรู้คือการสร้างผลิตภัณฑ์ที่ใช้งานได้ ฉันต้องการมีโปรไฟล์สาธารณะใน GitHub สำหรับโครงการในอนาคตของฉันและฉันจะพยายามอย่างหนักเพื่อให้แน่ใจว่ามีการแสดงความคิดเห็นที่ดีมีการปรับปรุงและทำความสะอาด นี่คือสิ่งที่ฉันกลัวว่าจะเปิดเผยต่อสาธารณะ: รหัสของฉันอาจไม่ได้รับการปรับปรุงอย่างเหมาะสม การใช้งานไลบรารีหรือฟังก์ชั่นบางอย่างไม่ถูกต้องซึ่งทำให้งานเสร็จโดยบังเอิญ ไม่ทราบหรือทำตามรูปแบบการเข้ารหัสใด ๆ ข้อบกพร่องมากมาย / ไม่พิจารณามุมกรณีขอบ การขาดความเข้าใจพื้นฐานและการประยุกต์ใช้แนวคิดบางอย่างเช่นความปลอดภัยของเธรดปัญหาการทำงานพร้อมกันในการเขียนโปรแกรมแบบมัลติเธรด ฯลฯ ฉันควรไปข้างหน้าและเริ่มต้นหรือดำเนินการต่อเพื่อสร้างสิ่งในพื้นที่และเป็นส่วนตัวจนกว่าฉันจะได้รับประสบการณ์มากขึ้น ฉันไม่ต้องการความผิดพลาดที่เกิดขึ้นที่นี่เพื่อหลอกหลอนโอกาสในการทำงานของฉันในระยะยาว

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

1
การจัดระเบียบรหัสสำหรับการพัฒนาแอป iOS
ฉันได้พัฒนาแอพสำหรับแพลตฟอร์ม iOS และเมื่อฉันดำเนินการต่อไปฉันสังเกตเห็นว่าฉันทำงานหนักมากในการจัดระเบียบไฟล์ของฉัน (.h, .m, .mm) มีมาตรฐานอุตสาหกรรมหรือแนวปฏิบัติที่ดีที่สุดในเรื่องการจัดระเบียบไฟล์สำหรับโครงการ iOS หรือไม่? ไฟล์ของฉันมีคลาสที่กำหนดเอง (ด้านข้างตัวควบคุมมุมมอง), ตัวควบคุมมุมมองที่กำหนดเอง, เนื้อหาของบุคคลที่สาม, รหัสที่ใช้งานได้กับ iOS 5.0+ และรหัสที่ใช้กับเวอร์ชันก่อนหน้าเท่านั้น สิ่งที่ฉันกำลังมองหาคือทางออกสำหรับการจัดระเบียบสิ่งต่าง ๆ ในลักษณะที่คนอื่น ๆ (หรือตัวฉันเองในอีกไม่กี่ปีข้างหน้า) สามารถดูและเข้าใจโครงสร้างพื้นฐานของแอปพลิเคชันและไม่หลงทางในไฟล์หลายไฟล์ที่พบ

2
เมื่อ Rob Pike พูดว่า“ Go เป็นเรื่องเกี่ยวกับการแต่งเพลง” เขาหมายถึงอะไรกันแน่? [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน5 ปีที่ผ่านมา จากLess มีมากขึ้นแบบทวีคูณ ถ้า C ++ และ Java เกี่ยวกับลำดับชั้นของประเภทและอนุกรมวิธานของประเภท Go เป็นเรื่องเกี่ยวกับองค์ประกอบ

2
วัตถุ Persistence-Ignorant สามารถใช้การโหลดแบบ lazy ได้หรือไม่?
Persistence Ignoranceเป็นแอพพลิเคชั่นของหลักการความรับผิดชอบเดี่ยวซึ่งในทางปฏิบัติหมายความว่า Domain Objects ( DO ) ไม่ควรมีรหัสที่เกี่ยวข้องกับการคงอยู่ แต่ควรจะมีตรรกะของโดเมนเท่านั้น a) ฉันถือว่านี่หมายความว่ารหัสที่ติดต่อเลเยอร์ที่ต่ำกว่า (เช่นชั้นที่มีอยู่) อยู่นอกโมเดลโดเมนในคลาสอื่น ( OC ) ของเลเยอร์ตรรกะทางธุรกิจหรือไม่ b) หากการสันนิษฐานของฉันภายใต้a)ถูกต้องดังนั้นDOพูดว่าCustomerไม่มีวิธีการเช่นGetCustomersหรือGetCustomerByID? c) หากสมมุติฐานของฉันภายใต้a)และb)ถูกต้องและสมมติว่าCustomerวัตถุโดเมนใช้การโหลดแบบขี้เกียจสำหรับคุณสมบัติบางอย่างนั้นCustomerตรรกะภายในของบางจุดจะต้องติดต่อOCซึ่งจะดึงข้อมูลที่ได้รับการแก้ไข แต่ถ้าCustomerต้องการติดต่อOCเพื่อรับข้อมูลที่ถูกหักล้างเราไม่สามารถอ้างสิทธิ์ได้จริงๆว่า Domain Objects ไม่มีตรรกะที่เกี่ยวข้องกับการคงอยู่หรือไม่! ขอบคุณ ตอบกลับไปยัง jkohlhepp 1) ผมถือว่าOrderProviderและCustomerProviderชั้นเรียนที่มีอยู่ภายในชั้นตรรกะทางธุรกิจ? 2) ฉันรวบรวมจากคำตอบของคุณว่าสมมติฐานของฉันภายใต้ข)ถูกต้องหรือไม่ 3) ... ฉันจะตรวจสอบเพื่อดูว่าฟิลด์คำสั่งซื้อส่วนตัวบางส่วนมีการเติมข้อมูลหรือไม่หรือไม่ ถ้ามันเป็นโมฆะ ... แต่เท่าที่ฉันสามารถบอกได้ทันทีที่รหัสโดเมนจำเป็นต้องตรวจสอบว่าorderมีการเติมข้อมูลในฟิลด์ส่วนตัวหรือไม่และถ้าไม่ติดต่อ OrderProvider เรากำลังละเมิดหลักการPIอยู่แล้ว!

1
ข้อยกเว้นการปฏิบัติหรือคำแนะนำที่ดีที่สุด [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นหัวข้อสำหรับ Software Engineering Stack Exchange ปิดให้บริการใน5 ปีที่ผ่านมา ฉันคิดว่าปัญหาหลักสองประการของโปรแกรมของฉันคือโครงสร้างรหัส / องค์กรและการจัดการข้อผิดพลาดของฉัน ฉันกำลังอ่าน Code Complete 2 แต่ฉันต้องการอ่านเพื่อทำงานกับปัญหาที่อาจเกิดขึ้น ตัวอย่างเช่นบนเว็บไซต์หากบางสิ่งสามารถเกิดขึ้นได้เฉพาะเมื่อผู้ใช้ tampers กับข้อมูลผ่านทางจาวาสคริปต์คุณเขียนเพื่อที่? นอกจากนี้เมื่อใดที่คุณไม่พบข้อผิดพลาด? เมื่อคุณเขียนคลาสที่คาดว่าสตริงและ int เป็นอินพุตและพวกเขาไม่ใช่สตริงและ int คุณตรวจสอบสิ่งนั้นหรือไม่หรือคุณปล่อยให้มันลอยไปจนถึงวิธีการโทรที่ผ่านพารามิเตอร์ที่ไม่ถูกต้องหรือไม่ ฉันรู้ว่านี่เป็นหัวข้อกว้าง ๆ ที่ไม่สามารถตอบได้ด้วยคำตอบเดียวที่นี่ดังนั้นสิ่งที่ฉันกำลังมองหาคือหนังสือหรือแหล่งข้อมูลที่ได้รับการยอมรับโดยทั่วไปว่าเป็นการสอนการจัดการข้อยกเว้นที่เหมาะสม

3
IValidatableObject vs Single Responsibility
ฉันชอบจุดที่เพิ่มความสามารถของ MVC ช่วยให้มุมมองแบบจำลองใช้ IValidatableObject และเพิ่มการตรวจสอบความถูกต้องที่กำหนดเอง ฉันพยายามควบคุมให้ตัวควบคุมของฉันคงอยู่เพราะการใช้รหัสนี้เป็นเพียงตรรกะการตรวจสอบเท่านั้น: if (!ModelState.IsValid) return View(loginViewModel); ตัวอย่างเช่นโมเดลมุมมองล็อกอินใช้ IValidatableObject รับวัตถุ ILoginValidator ผ่านการสร้างคอนสตรัค: public interface ILoginValidator { bool UserExists(string email); bool IsLoginValid(string userName, string password); } ดูเหมือนว่า Ninject การฉีดอินสแตนซ์ในมุมมองแบบจำลองไม่ใช่วิธีปฏิบัติทั่วไปจริง ๆ อาจเป็นรูปแบบการต่อต้านหรือไม่ นี่เป็นวิธีที่ดีหรือไม่? มีดีกว่าไหม

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

2
วิธีทำให้การออกแบบนี้ใกล้เคียงกับ DDD ที่เหมาะสมมากขึ้น?
ฉันได้อ่านเกี่ยวกับ DDD มาหลายวันแล้วและต้องการความช่วยเหลือในการออกแบบตัวอย่างนี้ กฎทั้งหมดของ DDD ทำให้ฉันสับสนมากกับวิธีที่ฉันควรจะสร้างอะไรเลยเมื่อวัตถุโดเมนไม่ได้รับอนุญาตให้แสดงวิธีการในชั้นแอพลิเคชัน; มีที่ไหนอีกที่จะจัดการกับพฤติกรรม? ที่เก็บไม่ได้รับอนุญาตให้ถูกฉีดเข้าไปในเอนทิตีและเอนทิตี้ของตัวเองจึงต้องทำงานกับรัฐ ถ้าอย่างนั้นเอนทิตีต้องรู้อะไรจากโดเมน แต่วัตถุเอนทิตีอื่น ๆ ไม่ได้รับอนุญาตให้ฉีด? บางสิ่งเหล่านี้มีเหตุผลสำหรับฉัน แต่บางอย่างไม่ ฉันยังไม่พบตัวอย่างที่ดีของวิธีสร้างคุณลักษณะทั้งหมดเนื่องจากทุกตัวอย่างเกี่ยวกับคำสั่งซื้อและผลิตภัณฑ์ทำซ้ำตัวอย่างอื่น ๆ ซ้ำแล้วซ้ำอีก ฉันเรียนรู้ได้ดีที่สุดจากการอ่านตัวอย่างและพยายามสร้างคุณสมบัติโดยใช้ข้อมูลที่ฉันได้รับเกี่ยวกับ DDD ในตอนนี้ ฉันต้องการให้คุณช่วยชี้ให้เห็นสิ่งที่ฉันทำผิดและวิธีการแก้ไขโดยเฉพาะอย่างยิ่งกับรหัสว่า "ฉันจะไม่ recomment ทำ X และ Y" ยากที่จะเข้าใจในบริบทที่ทุกอย่างเพิ่งกำหนดชัดเจนแล้ว ถ้าฉันไม่สามารถฉีดเอนทิตี้เข้าไปในที่อื่นได้จะง่ายกว่าที่จะเห็นวิธีการทำอย่างถูกต้อง ในตัวอย่างของฉันมีผู้ใช้และผู้ดูแล ผู้ดำเนินรายการสามารถแบนผู้ใช้ แต่ด้วยกฎธุรกิจ: เพียง 3 ต่อวัน ฉันพยายามตั้งค่าคลาสไดอะแกรมเพื่อแสดงความสัมพันธ์ (รหัสด้านล่าง): interface iUser { public function getUserId(); public function getUsername(); } class User implements …

3
มีผลกระทบเชิงลบของ opensource ต่อสภาพแวดล้อมเชิงพาณิชย์หรือไม่? [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน4 ปีที่แล้ว บริษัท ของฉันมีผลิตภัณฑ์ที่หลากหลายมากและมีบางอย่างที่ไม่เป็นกลยุทธ์ของเราดังนั้นฉันจึงต้องการเปิดแหล่งที่มา (เพื่อให้เราสามารถมุ่งเน้นไปที่สิ่งที่ทำให้เรามีเอกลักษณ์และเป็นโอเพ่นซอร์สผลิตภัณฑ์ที่ทุก บริษัท มี) อุตสาหกรรมของเรา (hedgefund) ไม่ได้เป็นโอเพ่นซอร์ส (เราจะเป็น บริษัท แรกที่ลองทำสิ่งนี้) และข้อเสนอแนะที่ฉันได้รับจากทีมผู้บริหารของฉันคือ 1) เราจะทำลายอุตสาหกรรมหรือ 2) บริษัท เชิงพาณิชย์ที่แข่งขันกันทั้งหมด กับเราและเราจะถูกกำจัดออกไปไม่ทางใดก็ทางหนึ่ง มันเป็นการต่อสู้ครั้งใหญ่ใน บริษัท ของฉันตอนนี้ระหว่างผู้คนด้านไอทีที่ได้เห็นผลในเชิงบวกของการแบ่งปันและนักธุรกิจที่คิดว่าเราจะยอมแพ้ทุกอย่าง (พวกเขาชอบที่เราขายชิ้นส่วนที่เราต้องการเปิดโอเพ็นซอร์ส เป็นมาตรฐานเมื่อขายบางสิ่ง) แล้วคุณคิดอย่างไร การจัดหาแบบเปิดใช้โดยทั่วไปหรือใช้กับซอฟต์แวร์ได้จริงหรือ โดยรวมแล้วเป็นสิ่งที่ดีสำหรับคนในอุตสาหกรรมและนอกบ้านหรือไม่? ฉันสนใจผลกระทบเชิงลบมากกว่า (แม้ว่าจะได้รับการตอบรับที่ดีก็ตาม) อัปเดต:เรื่องสั้นสั้น ๆ แม้ว่ารหัสจะเกี่ยวข้องกับเรื่องนี้ แต่ก็ไม่ได้เกี่ยวกับรหัสมากนัก เราเป็นกองทุนเฮดจ์ฟันด์ขนาดกลาง เรามีกลยุทธ์ที่ไม่เหมือนใคร แต่ก็มีกองทุนที่มีความยาว / สั้นมาตรฐานการเก็งกำไรมาโครระดับโลกและกองทุนอื่น ๆ เรากำลังรักษาเงินที่ไม่ซ้ำกันที่เรามี แต่สิ่งอื่น ๆ ที่ทุกคนมีเรากำลังพิจารณาการเปิดแหล่งที่มา (เราได้ใส่ในปีของการทำงานและล้านดอลลาร์เข้ากองทุนของเราเป็นที่นิยมและประสิทธิภาพของเราทั้งในควอไทล์แรกหรือสอง …

2
ความเสี่ยงด้านกฎหมายหากมีการใช้ GPL หรือ AGPL Web Application Framework / CMS คืออะไร
พยายามที่จะถามเรื่องนี้ใน SO แต่ถูกเรียกที่นี่ ... ฉันถูกต้องหรือไม่ที่บอกว่าการใช้เฟรมเวิร์กแอปพลิเคชัน GPL'ed เช่น Composite C1 จะไม่บังคับให้ บริษัท แบ่งปันซอร์สโค้ดที่เราเขียนกับกรอบดังกล่าว นั่นคือจุดประสงค์ของ AGPL ฉันถูกต้องไหม? สิ่งนี้ยังนำไปใช้กับกรอบงานจาวาสคริปต์เช่น KendoUI หรือไม่? GPL จะต้องมีการเปลี่ยนแปลงใด ๆ ที่เราทำกับเฟรมเวิร์กที่มีให้แก่ผู้อื่นหากเราเสนอให้ดาวน์โหลด กล่าวอีกนัยหนึ่งเพียงแค่โหลดเนื้อหาเว็บไซต์ลงในเบราว์เซอร์ของฉันไม่ใช่ "สื่อความ" หรือ "เผยแพร่" ซอฟต์แวร์นั้น ฉันโต้เถียงกันว่าเราควรหลีกเลี่ยงเฟรมเวิร์กเว็บของ GPL และตอนนี้หลังจากการค้นคว้าฉันค่อนข้างมั่นใจว่าฉันผิด แต่ต้องการได้รับความคิดเห็นอื่น ๆ เซท

4
การใช้อินเทอร์เฟซสำหรับการจัดหมวดหมู่เป็นเรื่องที่ผิดหรือไม่
ตัวอย่างเช่น: บอกฉันได้เรียนA, ,B Cฉันมีสองอินเตอร์เฟซที่ช่วยให้เรียกพวกเขาและIAnimal สืบทอดจาก และมีs ในขณะที่ไม่ได้ แต่มันก็เป็นIDogIDogIAnimalABIDogCIAnimal ส่วนที่สำคัญคือIDogไม่มีการใช้งานเพิ่มเติม มันใช้เพื่ออนุญาตAและBไม่Cผ่านการโต้แย้งเป็นวิธีการบางอย่าง นี่คือการปฏิบัติที่ไม่ดีหรือไม่?

4
Java Virtual Machine เรียกใช้โค้ดที่เขียนในภาษาอื่น ๆ ได้อย่างไร?
เนื่องจาก Java 1.6 JVM สามารถเรียกใช้ภาษาการเขียนโปรแกรมจำนวนมากแทนที่จะเป็นจาวา ฉันเข้าใจแนวคิดว่า Java ทำงานบน Java VM ได้อย่างไร แต่ไม่ใช่ว่าภาษาอื่น ๆ จะสามารถทำงานกับมันได้เช่นกัน สำหรับฉันมันดูเหมือนเวทมนตร์สีดำ คุณมีบทความใดบ้างที่ชี้ให้ฉันทราบเพื่อที่ฉันจะได้เข้าใจว่าสิ่งเหล่านี้เข้ากันได้อย่างไร
12 jvm 

2
จะบันทึกผลลัพธ์ของแบบสอบถามชั่วคราวเพื่อใช้ในรายการอื่นได้อย่างไร
ฉันมีปัญหานี้ฉันคิดว่าคุณอาจช่วยฉันได้ ป.ล. ฉันไม่แน่ใจว่าจะเรียกสิ่งนี้อย่างไรดังนั้นหากใครพบชื่อที่เหมาะสมกว่านี้โปรดแก้ไข พื้นหลัง ฉันกำลังสร้างแอปพลิเคชันนี้สำหรับการค้นหาเส้นทางขนส่งรถบัส สายรถเมล์เป็นตัวเลข 3 หลักและไม่ซ้ำใครและจะไม่เปลี่ยนแปลง ความต้องการคือสามารถค้นหาบรรทัดจาก stop A ถึง stop B ส่วนต่อประสานกับผู้ใช้ประสบความสำเร็จในการบอกเป็นนัยให้ผู้ใช้ใช้ชื่อหยุดที่ถูกต้องเท่านั้น ความต้องการจะสามารถแสดงได้หากเส้นทางมีเส้นตรงและหากไม่มีให้แสดงการรวมกันแบบ 2 บรรทัดและ 3 บรรทัด ตัวอย่าง: ฉันต้องได้รับจากจุด A ถึงจุด D โปรแกรมควรแสดง: หากมีโฆษณาสายตรง ถ้าไม่ให้แสดงทางเลือกคอมโบ 2 บรรทัดเช่น AC, CD หากไม่มีคอมโบสองบรรทัดให้ค้นหาคอมโบ 3 บรรทัด: AB, BC, CD แน่นอนว่าแอพควรแสดงหมายเลขสายรถประจำทางรวมถึงเวลาที่จะเปลี่ยนรถโดยสาร สิ่งที่ฉันมี: ฐานข้อมูลของฉันมีโครงสร้างดังนี้ (ฐานข้อมูลจริงที่เรียบง่ายประกอบด้วยตำแหน่งและเวลาและอะไร): +-----------+ | bus_stops | +----+------+ | id | …
12 php  mysql  routing 

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