2012-03-15 42 views
6

Có bất kỳ thực hành tốt nhất về cách thức tổ chức của một người giải pháp trong xcodeCác phương pháp và nguyên tắc tốt nhất về tổ chức giải pháp Xcode là gì?

này là của tôi tại thời điểm từ gốc:

  • Một thư mục cho mỗi khung bên thứ 3 ví dụ KissXML
  • Một thư mục cho đơn vị của tôi kiểm tra
  • Một thư mục cho các khuôn khổ, các sản phẩm và các nguồn lực
  • Một thư mục cho MyApp trong đó có thư mục phụ cho mô hình, xem, điều khiển, cơ sở dữ liệu, hỗ trợ các file và tên miền.

Trả lời

1

Mine là:

Main application 
    Model 
    Singletons 
    Helper+managers 
    Controllers // I keep nibs with their respective class files 
    View 
    Resources 
     images 
     plists 
     // ... groups from other types of resources if needed 
    Supporting files 
Unit tests 
Frameworks 

Đối với mã tái sử dụng trên iOS tôi sử dụng thư viện tĩnh và thêm các như các dự án riêng biệt trong không gian làm việc Xcode. Ngay cả đối với mã của bên thứ ba, nếu không có mục tiêu thư viện tĩnh, tôi sẽ tạo một. Bằng cách đó, tôi xử lý mã của bên thứ ba giống như cách tôi xử lý mã thư viện của riêng mình. Hơn nữa, sau đó tôi không phải lo lắng về việc phiên bản mã của bên thứ ba.

Tôi nhận thấy điều quan trọng là phải Xcode phản ánh tổ chức hệ thống tệp của mã, ít nhất là lên đến một mức nào đó. Tôi đã áp dụng thực hành này sau khi đọc this blog post. Tuy nhiên, tôi không làm điều này bên dưới các cấp mà tôi đã liệt kê ở trên. Điều này giúp khi bạn chia sẻ mã trên github, ví dụ. Thay vì có người tải xuống hoặc cộng tác viên phải tìm hiểu tất cả nguồn của bạn đã được bán phá giá vào một thư mục duy nhất, nó được tổ chức thành các nhóm chức năng. Tôi đã nhìn thấy một số dự án mà tổ chức Xcode là OK, nhưng mọi tệp nguồn duy nhất trong hệ thống tệp được đưa vào một thư mục duy nhất.

0

Mặc dù không có phương pháp đặc biệt có thể không có nhược điểm, đây là những gì chúng tôi sử dụng

  1. thư mục cho ứng dụng cốt lõi hay Model. Điều này bao gồm các thư mục con cho mọi thư viện của bên thứ ba được sử dụng và thư mục cho các lớp học chuyên ngành . Ví dụ, sẽ có thư mục để xử lý dịch vụ web.

  2. Thư mục cho một mô-đun chính bao gồm các thư mục con cho mỗi màn hình chứa tệp lớp, ngòi và tài nguyên (điều này có thể bao gồm nhiều thư mục phụ theo nhu cầu).

  3. thư mục cho module lớn thứ hai và vân vân ..

mô hình này phục vụ chúng ta một mục đích lớn. Lõi ứng dụng của chúng tôi chứa các nội dung như ghi nhật ký, mã hóa/giải mã dữ liệu, v.v. Vì vậy, rất khó có thể thay đổi đối với nhiều ứng dụng mà chúng tôi phát triển. Tương tự như vậy sẽ có một số ứng dụng mà sẽ cần chức năng của một mô-đun chính và thêm một số thứ khác. Do đó, ba nhóm thư mục này được duy trì dưới dạng kho lưu trữ riêng biệt trên phiên bản lật đổ.

Bây giờ khi chúng tôi bắt đầu một dự án mới, chúng tôi tạo một kho lưu trữ mới cho dự án và liên kết nó với kho lưu trữ lõi ứng dụng và các kho lưu trữ mô-đun chính khác theo nhu cầu. Vì vậy, bất kỳ thay đổi nào được thực hiện trong lõi ứng dụng của một nhóm dự án, cũng được phản ánh trong các dự án khác. Tương tự với các mô-đun chính khác. Điều này cũng giúp chúng tôi đạt được mô đun hoàn chỉnh.

Tất nhiên sẽ có những bất lợi đối với chương trình này, nhưng chương trình này đã phù hợp với chúng tôi trong nhiều năm nay :)

Các vấn đề liên quan