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

3
กลยุทธ์แพคเกจและรุ่นในสภาพแวดล้อมที่เก็บหลาย
เราเป็น บริษัท เล็ก ๆ ที่มีหลายทีมที่จัดการที่เก็บคอมไพล์ของตัวเอง นี่คือแพลตฟอร์มเว็บและสิ่งประดิษฐ์ของแต่ละทีมจะถูกนำไปใช้ในตอนท้ายของวันสำหรับการทดสอบทุกคืน เรากำลังพยายามทำให้เป็นทางการกระบวนการเกี่ยวกับการกำหนดรุ่นและบรรจุภัณฑ์ ทุกทีมมีสาขาหลักที่พวกเขาทำการพัฒนาแบบวันต่อวัน สมาชิกการประกันคุณภาพของแต่ละทีมต้องการให้สิ่งประดิษฐ์จากการเปลี่ยนแปลงของทีมของพวกเขาถูกนำไปใช้ในห้องทดสอบที่มีการรวมส่วนประกอบทั้งหมดโดยเชฟ Artifacts เป็น tarballs แต่ฉันต้องการแปลงเป็น RPMs เพื่อให้เราสามารถคิดและเหตุผลเกี่ยวกับเวอร์ชันได้อย่างถูกต้อง กระบวนการปล่อยเกี่ยวข้องกับการตัดสาขาที่วางจำหน่ายจากสาขาการพัฒนา (ต้นแบบในกรณีส่วนใหญ่) ของที่เก็บ git แต่ละอัน สิ่งนี้จะมอบให้กับการประกันคุณภาพที่เรียกใช้การทดสอบและลงชื่อออกในชุดของสิ่งประดิษฐ์ ตัวอย่างเช่นนี่เป็นที่เก็บคอมไพล์ทั่วไปที่มีสาขาย่อยที่เกี่ยวข้อง: 0-0-0-0-0-0-0-0-0-0 (master) | | 0 0 (rel-1) | 0 (rel-2) ฉันพยายามที่จะหารูปแบบของแพคเกจที่มาจากสาขาการพัฒนา เราไม่ต้องการติดแท็กสาขาหลักของแต่ละ repo และ จำกัด แท็กเพื่อปล่อยสาขาเท่านั้น แต่เราควรจะสามารถค้นหาแพ็คเกจที่ปรับใช้ในเครื่องทดสอบโดยใช้ซีแมนทิกส์ yum / rpm มาตรฐาน เวอร์ชันการพัฒนาจะมีลักษณะอย่างไรเมื่อสาขาหลักไม่มีแท็ก ฉันเข้าใจว่าgit describeสามารถให้การแสดงเวอร์ชั่นประกอบที่มีประโยชน์แก่ฉันได้ แต่ทำงานได้ดีเมื่อติดแท็กจุดปล่อยต่างๆในสาขา แก้ไข 1: เพื่อตอบสนองต่อคำตอบของ …

2
โครงสร้างบรรจุภัณฑ์ของคอลเลกชัน Java (java.util) - ทำไม Iterable sit ใน java.lang
ตามแผนภาพด้านล่างยกเว้นส่วนต่อประสานส่วนIterableที่เหลือทั้งหมดที่สร้างขึ้น (คลาสอินเตอร์เฟส / คลาส / นามธรรม) จะอยู่ในแพ็คเกจเดียวกันjava.util ทำไมต้องIterableนั่งในjava.langแพ็คเกจ? หมายเหตุ: ความตั้งใจคือการทำความเข้าใจกับแง่มุมของบรรจุภัณฑ์ของการเขียนโปรแกรมจาวา

1
`การแก้ไข 'หมายถึงอะไรในการเขียนโปรแกรม? [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน4 ปีที่แล้ว ฉันเห็นในหลาย ๆ ที่ที่ใช้คำResolveนี้ใน Dependency Injection (แก้ไขการใช้งานอินเทอร์เฟซ), Package Managers (เช่น: แก้ไขการพึ่งพาแพ็คเกจ), เว็บ (เช่น: แก้ไขชื่อโฮสต์) ดังนั้นสิ่งที่จะทำให้ตรรกะของรหัสพิเศษที่ทำให้คนเลือกคำResolveมากกว่าง่ายConvertหรือTransformหรือแม้กระทั่งGet?

3
ทำไมเราไม่นำเข้าแพ็คเกจในขณะที่ใช้ฟังก์ชั่น String?
ฉันถามตัวเองว่าทำไมเราไม่นำเข้าแพ็คเกจในขณะที่เราใช้ฟังก์ชั่น String เช่นtoUpperCase()? พวกเขาเข้ามาได้อย่างไรโดยไม่ต้องนำเข้าแพ็คเกจ?
11 java  packages 

2
วิธีการทำให้เป็นโมดูลและแพคเกจห้องสมุด Javascript ฝั่งไคลเอ็นต์วันนี้?
ฉันได้ติดตามกับระบบนิเวศ JS ฝั่งไคลเอ็นต์ที่ทันสมัยและอ่านข้อมูลเกี่ยวกับ CommonJS และ AMD (รวมถึงเครื่องมือที่เกี่ยวข้อง - เบราว์เซอร์, requirejs, onejs, jam, อื่น ๆ อีกมากมาย) ถ้าฉันกำลังเขียนไลบรารี Javascript ฉันจะทำให้เป็นโมดูล / แพ็กเกจได้อย่างไรซึ่งมันสามารถเข้าถึงได้อย่างกว้างขวางที่สุด (โดยผู้ใช้ที่สบถโดย CommonJS, AMD และโดยเฉพาะอย่างยิ่ง) ห้องสมุดยอดนิยมเช่น jQuery ดูเหมือนจะใช้การต่อไฟล์โรงเรียนเก่าสำหรับการสร้างตัวเองและตรวจสอบแบบไดนามิกว่าควรเขียนไปยังexportsหรือบริบททั่วโลก ตอนนี้ฉันกำลังทำสิ่งเดียวกัน แต่ข้อเสียเปรียบหลักคือถ้าฉัน (ต่างจาก jQuery) ขึ้นอยู่กับห้องสมุดไม่กี่แห่งก็ดีที่ไม่ต้องขอให้ผู้ใช้รวมชุด transitive ด้วยตนเองไว้ล่วงหน้า (ถึงแม้ว่าตอนนี้ฉันเพิ่งมีการขึ้นต่อกันสองครั้ง) และแน่นอนว่าเนมสเปซทั่วโลกเป็นมลพิษ หรือบางทีมันอาจจะดีที่สุดที่จะสร้างไลบรารี่หลายเวอร์ชันสำหรับแต่ละบริบท? ฉันยังสงสัยเกี่ยวกับบรรจุภัณฑ์และการเผยแพร่ มีหลายระบบ แต่ฉันเชื่อว่าระบบที่สำคัญคือ bower ซึ่งง่ายต่อการจัดการเนื่องจากทั้งหมดนี้ใช้งานได้จริง อย่างไรก็ตามฉันสงสัยว่าฉันควรกำหนดเป้าหมายไปยังระบบแพ็กเกจอื่นเช่นองค์ประกอบ (ซึ่งต้องใช้ CommonJS) หรือไม่ มีประเด็นอื่น ๆ ที่เกี่ยวข้องที่ฉันควรทราบหรือไม่? มีตัวอย่างโครงการที่ดีที่จะติดตามทั้งหมดนี้หรือไม่?

2
วิธีแก้ปัญหาการพึ่งพาแพ็คเกจแบบวงกลม
ฉันกำลังปรับเปลี่ยน codebase ขนาดใหญ่ที่ชั้นเรียนส่วนใหญ่อยู่ในแพ็คเกจเดียว เพื่อความเป็นโมดูลที่ดีกว่าฉันกำลังสร้างแพ็คเกจย่อยสำหรับแต่ละฟังก์ชั่น ผมจำได้ว่าการเรียนรู้บางที่กราฟพึ่งพาแพคเกจไม่ควรมีลูป แต่ผมไม่ทราบว่าวิธีการแก้ปัญหาต่อไปนี้: Figureอยู่ในแพคเกจfigure, Layoutอยู่ในแพคเกจlayout, Layoutต้องคิดรูปแบบในการดำเนินการเพื่อให้แพคเกจขึ้นอยู่กับแพคเกจlayout figureแต่ในทางกลับกัน, Figureสามารถมีอื่น ๆ ที่Figureอยู่ข้างในมันมีของตัวเองLayoutซึ่งจะทำให้การจัดแพคเกจขึ้นอยู่กับแพคเกจfigurelayout ฉันมีวิธีแก้ปัญหาบางอย่างเช่นการสร้างContainerอินเทอร์เฟซที่Figureใช้และวางไว้ในLayoutแพ็คเกจ นี่เป็นทางออกที่ดีใช่ไหม ความเป็นไปได้อื่น ๆ ขอบคุณ

1
หลักการตั้งชื่อสำหรับแพ็คเกจทดสอบ
เรากำลังตั้งชื่อแพคเกจการทดสอบของเราเหมือนกับชุดทดสอบที่จะทดสอบ ดังนั้นเราจึงจบลงด้วยโครงสร้างนี้: src/main/java com.hello.world helloWorld.java src/test/java com.hello.world helloWorldTest.java ฉันมักจะรู้สึกเช่นนี้ไม่ได้ฉลาดเพราะคุณไม่สามารถแยกความแตกต่างระหว่าง "ทดสอบ" และ "ทดสอบ" ถ้าให้กับชื่อแพคเกจเท่านั้น ในทางกลับกันฉันไม่ได้พบกรณีที่จริงเรื่องนี้อย่างใด เป็นการดีที่จะมีการตั้งชื่อแบบแผนเดียวกันสำหรับทั้งสองแพ็คเกจ (สำหรับกรณีทดสอบและคลาสที่มา)? ถ้าไม่สิ่งที่จะเป็นวิธีที่ดีกว่า
11 naming  packages 

2
ใช้แพ็คเกจ (อัญมณีไข่ ฯลฯ ) เพื่อสร้างสถาปัตยกรรมที่แยกออก
ประเด็นหลัก เห็นการสนับสนุนที่ดีมากที่สุดแพลตฟอร์มการเขียนโปรแกรมที่ทันสมัยมีการบริหารจัดการแพคเกจ (คิดว่าgem, npm, pipฯลฯ ) ไม่ได้ทำให้ความรู้สึกในการออกแบบโปรแกรมหรือระบบจะประกอบด้วยแพคเกจการพัฒนาภายในเพื่อส่งเสริมและสร้างสถาปัตยกรรมคู่หลวม? ตัวอย่าง ตัวอย่างนี้จะสร้างแพคเกจสำหรับการเข้าถึงฐานข้อมูลรวมถึงการตรวจสอบและส่วนประกอบอื่น ๆ ของระบบ แน่นอนว่าใช้แพ็คเกจภายนอกด้วย จากนั้นระบบของคุณจะนำเข้าและใช้แพ็คเกจเหล่านี้แทนที่จะรวมรหัสไว้ในฐานรหัสของตนเอง การพิจารณา สำหรับฉันดูเหมือนว่าสิ่งนี้จะส่งเสริมการแยกรหัสและช่วยให้สามารถบำรุงรักษาได้เกือบจะเป็นแอพพลิเคชั่นบนเว็บเทียบกับเดสก์ท็อป (มีการใช้งานการอัปเดตเกือบอัตโนมัติโดยใช้ฐานรหัสเดียวสำหรับการใช้งานเดียว ดูเหมือนว่าแนวคิดการออกแบบที่สมเหตุสมผลและมีเหตุผลหรือไม่ สิ่งนี้ใช้จริง ๆ แล้วเป็นวิธีมาตรฐานในการสร้างแอพพลิเคชั่นในปัจจุบันหรือไม่?

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

1
แนวทางปฏิบัติที่ดีสำหรับโปรแกรม Python ในการทำแพ็คเกจ
ฉันใช้ Python มาระยะหนึ่งแล้วทั้งในบริบทของโครงการส่วนตัวและโครงการระดับมืออาชีพ สิ่งหนึ่งที่เกิดขึ้นกับฉันเมื่อเร็ว ๆ นี้คือฉันไม่เคยคิดถึงวิธีที่ดีในการปรับใช้โปรแกรม Python โดยทั่วไปเนื่องจากส่วนใหญ่เป็นสคริปต์ผมมักจะคัดลอกไปยังเครื่องที่ฉันต้องการให้ใช้งานและvoila ! แต่ฉันเชื่อว่าควรมีแนวทางปฏิบัติที่ดีเกี่ยวกับวิธีการปรับใช้โครงการ Python ฉันเคยได้ยินเกี่ยวกับ Python Eggs แต่ไม่คุ้นเคยพอที่จะดูว่าเป็นตัวเลือกที่ดีหรือไม่ หรือtarballเก่าธรรมดาที่มีเชลล์สคริปต์จำนวนมากเพื่อรันสคริปต์โมดูลหลัก? โดยทั่วไปฉันต้องการทำการปรับใช้ที่ดีงามสง่าและมีในตัวเองไม่ใช่แค่คัดลอกไฟล์ที่นี่และที่นั่นเพราะมันไม่อนุญาตให้มีการติดตามเวอร์ชันได้อย่างง่ายดายและค่อนข้างยุ่ง
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.