คำถามติดแท็ก project-structure

8
โครงสร้างโครงการที่ดีที่สุดสำหรับแอพพลิเคชั่น Python คืออะไร? [ปิด]
ปิด คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้มุ่งเน้นที่ปัญหาเดียวโดยแก้ไขโพสต์นี้ ปิดให้บริการใน3 ปีที่ผ่านมา ลองนึกภาพว่าคุณต้องการพัฒนาแอปพลิเคชั่นสำหรับผู้ใช้ปลายทาง (ไม่ใช่เว็บ) ใน Python วิธีที่ดีที่สุดในการจัดโครงสร้างลำดับชั้นโฟลเดอร์ของโครงการคืออะไร คุณสมบัติที่พึงประสงค์คือความสะดวกในการบำรุงรักษา, IDE-friendly, ความเหมาะสมสำหรับการแยก / รวมการควบคุมแหล่งที่มาและการสร้างแพ็คเกจการติดตั้งที่ง่ายดาย โดยเฉพาะอย่างยิ่ง: คุณใส่แหล่งที่มาที่ไหน? คุณใส่สคริปต์เริ่มต้นแอปพลิเคชันไว้ที่ไหน คุณใส่ cruft โครงการ IDE ที่ไหน คุณทำการทดสอบหน่วย / การตอบรับจากที่ไหน คุณใส่ข้อมูลที่ไม่ได้อยู่ใน Python เช่นไฟล์ config ที่ไหน คุณใส่แหล่งข้อมูลที่ไม่ใช่ Python เช่น C ++ สำหรับโมดูลส่วนขยายไบนารี pyd / so ที่ไหน?


6
แนวปฏิบัติที่เหมาะสมที่สุดสำหรับโครงสร้างไดเรกทอรีทำงานของโครงการ Django
ฉันรู้ว่าจริงๆแล้วมันไม่มีทางที่ถูกต้อง อย่างไรก็ตามฉันพบว่ามันยากที่จะสร้างโครงสร้างไดเรกทอรีที่ทำงานได้ดีและยังคงสะอาดสำหรับนักพัฒนาและผู้ดูแลระบบทุกคน มีโครงสร้างมาตรฐานบางอย่างในโครงการส่วนใหญ่บน GitHub แต่จะไม่แสดงวิธีการจัดระเบียบไฟล์อื่นและโครงการทั้งหมดในพีซี วิธีที่สะดวกที่สุดในการจัดระเบียบไดเรกทอรีทั้งหมดเหล่านี้บนเครื่องพัฒนาคืออะไร? คุณตั้งชื่อพวกเขาอย่างไรและคุณเชื่อมต่อและปรับใช้กับเซิร์ฟเวอร์อย่างไร โครงการ (โครงการทั้งหมดที่คุณกำลังทำงานอยู่) ไฟล์ต้นฉบับ (แอปพลิเคชันเอง) สำเนาการทำงานของที่เก็บ (ฉันใช้คอมไพล์) สภาพแวดล้อมเสมือน (ฉันชอบที่จะวางสิ่งนี้ใกล้กับโครงการ) รากคงที่ (สำหรับไฟล์คงที่รวบรวม) media root (สำหรับไฟล์สื่อที่อัพโหลด) README ใบอนุญาต เอกสาร สเก็ตช์ ตัวอย่าง (โครงการตัวอย่างที่ใช้แอปพลิเคชันที่จัดทำโดยโครงการนี้) ฐานข้อมูล (ในกรณีที่ใช้ sqlite) อะไรก็ได้ที่คุณต้องการสำหรับการทำงานในโครงการให้ประสบความสำเร็จ ปัญหาที่ฉันต้องการแก้ไข: ชื่อที่ดีของไดเรกทอรีเพื่อให้วัตถุประสงค์ชัดเจน เก็บไฟล์โครงการทั้งหมด (รวมถึง virtualenv) ไว้ในที่เดียวดังนั้นฉันสามารถคัดลอกย้ายเก็บถาวรลบโครงการทั้งหมดหรือประมาณการการใช้พื้นที่ดิสก์ได้อย่างง่ายดาย การสร้างสำเนาของชุดไฟล์ที่เลือกบางชุดเช่นแอปพลิเคชั่นที่เก็บหรือ virtualenv ทั้งหมดในขณะที่เก็บสำเนาอื่นของไฟล์อื่นที่ฉันไม่ต้องการโคลน การปรับใช้ชุดของไฟล์ที่ถูกต้องไปยังเซิร์ฟเวอร์โดยเพียงแค่เลือกหนึ่ง dir

12
ไม่สามารถสร้างโมดูล: ไม่พบการกำหนดค่าการไล่ระดับสีที่เกี่ยวข้อง กรุณานำเข้าโครงการ Gradle อีกครั้งและลองอีกครั้ง
ฉันใช้ IntelliJ IDEA Ultimate 14 และ Gradle 1.2 ฉันจัดการโครงการจากคอนโซล แต่ฉันต้องดีบักโค้ดบางส่วนจาก IDE เมื่อฉันพยายามสร้างโครงการหน้าต่างข้อผิดพลาดนี้จะปรากฏขึ้น เมื่อฉันพยายามที่จะแก้ปัญหาโครงการ Error: Unable to make the module: idappcli, related Gradle configuration was not found. Please, re-import the Gradle project and try again. ถูกเขียนในหน้าต่างข้อความ ฉันจะเพิ่มพา ธ เอาต์พุตปกติให้กับโครงการได้อย่างไร?

4
โครงสร้างโครงการ Ruby ในอุดมคติ
ฉันตามภาพรวม / ชี้แจงโครงสร้างโครงการที่เหมาะสำหรับโครงการทับทิม (ไม่ใช่ราง / merb / etc) ฉันคาดเดาตามนี้ app/ bin/ #Files for command-line execution lib/ appname.rb appname/ #Classes and so on Rakefile #Running tests README test,spec,features/ #Whichever means of testing you go for appname.gemspec #If it's a gem ฉันมีอะไรผิดปกติหรือเปล่า? ฉันพลาดส่วนใดไปบ้าง

4
ฉันจะตั้งค่าโปรเจ็กต์ Ruby พื้นฐานได้อย่างไร?
ฉันต้องการสร้างโปรเจ็กต์ Ruby ขนาดเล็กที่มี 10 ~ 20 คลาส / ไฟล์ ฉันต้องการอัญมณีและต้องการใช้ RSpec เป็นกรอบการทดสอบ ฉันอาจต้องการสร้างอัญมณีในภายหลัง แต่ก็ไม่แน่ใจ มีวิธีการหรือคำแนะนำที่แสดงวิธีการตั้งค่าโครงสร้างพื้นฐานของโครงการของฉันหรือไม่? คำถามที่ฉันมีคือ: ฉันจะใส่ข้อผิดพลาด / ข้อยกเว้นที่กำหนดเองทั้งหมดไว้ที่ไหน มีข้อกำหนดบางประการสำหรับการตั้งชื่อไดเร็กทอรีเช่น lib, bin, src เป็นต้นหรือไม่? ฉันจะใส่ข้อมูลหรือเอกสารการทดสอบได้ที่ไหน? ฉันต้องการไฟล์ทั้งหมดของฉันที่ไหนเพื่อให้ฉันสามารถเข้าถึงไฟล์เหล่านั้นในโครงการของฉันได้ ฉันรู้ว่าฉันสามารถทำทุกอย่างได้ตั้งแต่เริ่มต้น แต่ฉันต้องการคำแนะนำ มีอัญมณีดีๆมากมายที่ฉันสามารถคัดลอกได้ แต่ฉันไม่แน่ใจว่าต้องการอะไรจริงๆและสิ่งที่ฉันสามารถลบได้ ฉันดูที่http://gembundler.com/แต่มันหยุดหลังจากตั้งค่า Bundler
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.