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

ไลบรารีคือชุดของทรัพยากรที่ให้ข้อมูลและ / หรือบริการสำหรับการพัฒนาซอฟต์แวร์อิสระ

7
ทำไมต้องพัฒนาไลบรารีภายในสำหรับแอปพลิเคชันภายใน
ฉันมีปัญหาในการทำความเข้าใจว่าทำไมคุณควรพัฒนาไลบรารีภายในเพื่อใช้สำหรับการพัฒนาแอปพลิเคชันภายในโดยเฉพาะ ฉันขอขอบคุณที่ถ้าฉันต้องการใช้ซอฟต์แวร์ที่บุคคลภายนอกองค์กรเขียนขึ้นพวกเขาสามารถส่งไฟล์ส่วนหัวและไฟล์. a หรือ. so และฉันสามารถลิงก์ไปยังโครงการของฉันได้ (สมมติว่าพวกเขารวบรวมในสภาพแวดล้อมเดียวกัน) . แต่ทำไมห้องสมุดภายในควรได้รับการพัฒนาเพียงเพื่อเชื่อมโยงกับแอปพลิเคชันภายในเมื่อฉันเข้าถึงส่วนหัวและไฟล์การใช้งานและสามารถรวมไว้ในแผนภูมิแหล่งที่มาของฉันและรวบรวมทั้งหมดเข้าด้วยกันได้ กล่าวอีกนัยหนึ่ง: ถ้ามีการเขียนซอร์สโค้ดคุณจะตัดสินใจได้อย่างไรว่าควรจะคอมไพล์ลงในไลบรารีไบนารีและเชื่อมโยงกับแอปพลิเคชันของคุณหรือรวมอยู่ในไฟล์ต้นฉบับของโครงการและคอมไพล์อย่างสม่ำเสมอ? เมื่อฉันพูดว่าไฟล์ 'รวม' ในแต่ละโครงการฉันไม่ได้หมายถึงการคัดลอกและวางแต่ละไฟล์ลงในแผนผังแหล่งที่มาของโครงการที่กำลังพัฒนา ฉันหมายถึงการพัฒนาไดเรกทอรี / ไลบรารี (แยกเป็นโครงการใด ๆ ) ที่มีซอร์สโค้ดร่วมที่สามารถรวมอยู่ในไฟล์ของโครงการได้ตามปกติคือ #include ps ฉันกำลังพูดถึงการพัฒนา c / c ++ ที่นี่สำหรับแอปพลิเคชันเดสก์ท็อปหลาย ๆ ตัว
10 libraries 

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

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

2
วิธีการห่อหุ้มคลาสภายในใน API ที่เขียนด้วย Java?
เราต้องเขียนห้องสมุด โดยปกติมันควรมี API ที่เล็กมาก (กว้างที่สุดเท่าที่จำเป็นเล็กที่สุดเท่าที่จะทำได้) internals ของห้องสมุดค่อนข้างซับซ้อน ดังนั้นพวกเขาต้องการโครงสร้าง สำหรับโครงสร้างฉันเห็นสองวิธี: 1. ใช้แพ็คเกจ ข้อดี:ห้องสมุดสามารถจัดโครงสร้างอย่างเรียบร้อย ทุกอย่างในที่ของมัน ข้อเสีย:การใช้คลาสผ่านขอบแพคเกจจำเป็นต้องใช้คลาสสาธารณะจึงขยาย API ของไลบรารีทั้งหมด 2. ใช้คลาสภายในแบบคงที่ทั้งหมดในแพ็คเกจเดียว ข้อดี: ต้องการเพียงสิ่งสาธารณะน้อยมาก (คลาส, วิธีการและอื่น ๆ ) ที่จำเป็น ข้อด้อย:ชั้นเรียนถูกซ่อนไว้เพียงเพื่อจัดโครงสร้างพวกเขา นี่จะเป็นกรณีการใช้งานเพียงไม่กี่กรณีที่มีคลาสภายในแบบสแตติกจำนวนมากใช้อยู่ นักพัฒนาไม่คุ้นเคยกับสิ่งนั้นและอาจมองข้ามพวกเขา มีวิธีที่ดีกว่าในการบรรลุ API ขนาดเล็กในห้องสมุดที่มีโครงสร้างหรือไม่? แก้ไข:ฉันลืมพูดถึง: มันเป็นห้องสมุด Android ดังนั้นจึงไม่มี java9

2
การออกแบบคลาสยกเว้น
ฉันกำลังเขียนโค้ดไลบรารีขนาดเล็กและฉันมีปัญหากับการออกแบบการจัดการข้อยกเว้น ฉันต้องบอกว่าฉันยังคงสับสนกับคุณสมบัติของภาษา C ++ และพยายามอ่านให้มากที่สุดเท่าที่จะเป็นไปได้เพื่อทำความเข้าใจกับสิ่งที่ฉันต้องทำเพื่อทำงานกับคลาสยกเว้นอย่างเหมาะสม ฉันตัดสินใจใช้system_errorวิธีการที่ได้แรงบันดาลใจจากการใช้งาน STL ของfuture_errorชั้นเรียน ฉันมีการแจงนับที่มีรหัสข้อผิดพลาด: enum class my_errc : int { error_x = 100, error_z = 101, error_y = 102 }; และคลาสข้อยกเว้นเดียว (สำรองตามerror_categoryประเภทของโครงสร้างและทุกอย่างอื่นที่จำเป็นโดยsystem_errorรุ่น): // error category implementation class my_error_category_impl : public std::error_category { const char* name () const noexcept override { return "my_lib"; } std::string message …

2
Haskell GUI: Haskell สามารถทำได้มากแค่ไหน?
ฉันอยากลองใช้กราฟิกใน Haskell จากสิ่งที่ฉันเห็นห้องสมุดที่มีอยู่เป็นส่วนหน้าไปยังไลบรารี C / C ++ หรือสิ่งที่เป็นนามธรรมด้วยคุณสมบัติขั้นต่ำ ห้องสมุดระดับสูงดูเหมือนจะไม่เหมาะกับความต้องการของฉันดังนั้นฉันจึงเหลือไว้กับ front-end ระดับล่าง สิ่งที่ฉันต้องการคือการแสดงไทล์และข้อความ - พื้นฐานสำหรับเกมที่ง่ายมาก ฉันรู้วิธีการทำเช่นนี้กับ C และคิดว่าฉันสามารถเขียนกราฟิกใน C และเชื่อมต่อกับ Haskell ทางเลือกคือการเขียนกราฟิกโดยใช้ห้องสมุด Haskell คำถามของฉันคือห้องสมุด Haskell สามารถใช้งานได้ตามที่ฉันต้องการหรือไม่ ฉันไม่ต้องการงอไปข้างหลัง ถ้า C สามารถทำได้ดีกว่าที่ฉันอยากรู้

3
วิธีสร้างและเผยแพร่ไลบรารี Java ที่มีประโยชน์
ฉันเพิ่งทำงานกับคลาส Java ที่สร้างพีชคณิตต่อรายการของวัตถุ ไม่ว่าในกรณีใดฉันต้องการให้ห้องสมุดนี้เสนอต่อสาธารณะดังนั้นฉันมีคำถามหลายข้อ: ห้องสมุดส่วนใหญ่ผมเห็นมีการตั้งชื่อนี้แพคเกจที่มีความซับซ้อนโดยเฉพาะรวมทั้ง/com orgมีแบบแผนสำหรับสิ่งเหล่านี้หรือเป็นpermutationsแพคเกจเพียงพอหรือไม่ มีรูปแบบเฉพาะสำหรับการเผยแพร่เหล่านี้หรือไม่ ฉันควรรวม WARS แยกต่างหากสำหรับซอร์สโค้ด / javadoc หรือไม่ ฉันมีไฟล์ในที่เก็บ GitHub ฉันเดาว่าฉันสามารถให้บริการไฟล์ได้ที่นั่น แต่ฉันจะให้คนหา repo ของฉันได้อย่างไร
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.