Tạo một nền tảng bá quyền nhóm phát triển bất khả tri


9

Tôi làm việc tại một công ty nơi chúng tôi có rất nhiều kỹ năng khác nhau trong nhóm phát triển.

Chúng tôi thực hiện tất cả những điều sau đây (thường hướng đến web):

  • .NET (MVC, Umbraco, ASP.NET, Surface)
  • Java (Mùa xuân, Ngủ đông, Android)
  • PHP (Zend, Mã đánh lửa)
  • Bản thảo 3
  • KHÔNG KHÍ
  • Mục tiêu-C
  • Html / Javascript (rõ ràng)

Chúng tôi đang cố gắng hợp lý hóa quá trình phát triển của chúng tôi.

Chúng tôi hiện có một máy chủ TeamCity xây dựng và triển khai các dự án .NET với msbuild / msdeploy / nant.

Những gì tôi muốn là một cái gì đó giống như maven sẽ cung cấp cho chúng tôi một cấu trúc mẫu dự án tiêu chuẩn hoạt động cho hầu hết các dự án để cho phép mọi người từ các nhóm khác nhau di chuyển giữa các dự án một cách dễ dàng.

Hiện tại điều này hoạt động trên một nền tảng vì chúng tôi có xu hướng thực hiện mọi thứ theo cách tiêu chuẩn cho nền tảng đó (miễn là một số người đã tham gia) tuy nhiên tôi muốn sử dụng một cái gì đó như maven để chuẩn hóa cách xây dựng và xây dựng dự án.

Có ai đã thử bất cứ điều gì như thế này trước đây? Kinh nghiệm? Sách?


Vì vậy, làm thế nào điều này sẽ làm việc? Nếu ai đó cần xây dựng một ứng dụng web, họ sẽ cần chỉ định một ngôn ngữ hoặc bạn muốn buộc tất cả các ngôn ngữ sử dụng cùng một cấu trúc, ngay cả khi nó không lý tưởng cho ngôn ngữ đó. Ví dụ: cấu trúc các tệp javascript của tôi khi tôi làm Java hoặc C # sẽ là một điều khó khăn.
James Black

Câu trả lời:


3

Đối với .NET, có ba dự án tới cổng Maven. Xem câu trả lời này trên stackoverflow.com. Ngoài ra bài viết wiki này có thể hữu ích.

Đối với các ngôn ngữ khác, tôi đề nghị áp dụng cùng một cấu trúc mà Maven hỗ trợ (tất cả các nguồn bên dưới src/language/main, v.v.) và sau đó viết các plugin Maven để xây dựng chúng hoặc ít nhất là viết các mẫu "Makefile" chung hỗ trợ cấu trúc này ra khỏi hộp.


2

Hiện tại chúng tôi sử dụng một số ngôn ngữ trong dự án của mình: C ++, Java, Ruby, Perl, OCaml, Shell, PHP và JavaScript. Và chúng tôi không có bất kỳ vấn đề nào để giải quyết tất cả. Bởi vì mỗi thành phần có cấu trúc và bố cục thư mục riêng . Bản dựng được dán cùng với các Makefile đệ quy đơn giản được xử lý bởi GNU make. Đôi khi, họ gọi các hệ thống xây dựng khác, nếu cần thiết (ví dụ: họ gọi Ant của Java để xây dựng mã Java). Nếu các hệ thống xây dựng này được gắn với một bố cục cụ thể, thì không vấn đề gì, bởi vì mỗi thành phần có một thành phần riêng và nó có thể được điều chỉnh để đáp ứng các yêu cầu của hệ thống xây dựng.

Ý tưởng chính là giữ cho mọi thành phần tách biệt với các thành phần khác. Trong thư mục của nó, chúng tôi chỉ lưu trữ các tệp vì chúng tôi nghĩ rằng nó sẽ hữu ích cho thành phần cụ thể này. Chúng tôi không có các đốm màu lớn như các src/thư mục chứa, ví dụ, tất cả mã cho một ngôn ngữ. Bằng cách này, chúng tôi đã không gặp phải bất kỳ vấn đề nào với việc chỉnh sửa mã trong các thành phần khác nhau.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.