Mặc dù tôi có thể viết mã, tôi chưa có kinh nghiệm làm việc trong các dự án lớn. Những gì tôi đã làm cho đến nay là mã hóa các chương trình nhỏ được biên dịch trong vài giây (các bài tập c / c ++ khác nhau như thuật toán, nguyên tắc lập trình, ý tưởng, mô hình hoặc chỉ thử dùng api ...) hoặc làm việc trên một số dự án nhỏ hơn được thực hiện bằng ngôn ngữ kịch bản (python, php, js) trong đó không cần biên dịch.
Vấn đề là, khi mã hóa bằng ngôn ngữ kịch bản, bất cứ khi nào tôi muốn thử nếu có gì đó hoạt động - tôi chỉ cần chạy tập lệnh và xem điều gì sẽ xảy ra. Nếu mọi thứ không hoạt động, tôi chỉ cần thay đổi mã và thử lại bằng cách chạy lại tập lệnh và tiếp tục làm điều đó cho đến khi tôi nhận được kết quả mà tôi muốn .. Quan điểm của tôi là bạn không phải chờ đợi bất cứ điều gì để biên dịch và do đó khá dễ dàng để có một cơ sở mã lớn, sửa đổi nó, thêm một cái gì đó vào nó hoặc đơn giản là chơi với nó - bạn có thể thấy các thay đổi ngay lập tức.
Để làm ví dụ tôi sẽ lấy Wordpress. Nó khá dễ dàng để thử và tìm ra cách tạo một plugin cho nó. Trước tiên, bạn bắt đầu bằng cách tạo một plugin "Hello World" đơn giản, sau đó bạn tạo một giao diện đơn giản cho bảng quản trị để làm quen với API, sau đó bạn xây dựng nó và làm cho một cái gì đó phức tạp hơn, đồng thời thay đổi giao diện của nó lần .. Ý tưởng phải biên dịch lại thứ gì đó lớn như WP hết lần này đến lần khác, sau mỗi thay đổi nhỏ để thử "nếu nó hoạt động" và "cách nó hoạt động / cảm thấy" có vẻ không hiệu quả, chậm và sai.
Bây giờ, làm thế nào tôi có thể làm điều đó với một dự án được viết bằng ngôn ngữ biên dịch? Tôi muốn đóng góp cho một số dự án nguồn mở và câu hỏi này cứ làm tôi khó chịu. Tình huống có thể khác nhau từ dự án này đến dự án khác, trong đó một số trong số chúng được cho là khôn ngoan sẽ được "mô-đun" theo một cách nào đó trong khi những cái khác sẽ chỉ là một đốm lớn cần được biên dịch lại nhiều lần.
Tôi muốn biết thêm về cách thực hiện đúng. Một số thực tiễn phổ biến, cách tiếp cận và thiết kế dự án (mẫu?) Để đối phó với điều này là gì? Làm thế nào "mô-đun" này được gọi trong thế giới lập trình viên và tôi nên google để tìm hiểu thêm về điều này? Có phải thường các dự án phát triển ra khỏi tỷ lệ suy nghĩ đầu tiên của họ sẽ trở nên rắc rối sau một thời gian? Có cách nào để tránh biên dịch dài các dự án được thiết kế không tốt? Một cách nào đó để mô đun hóa chúng (có thể loại trừ các phần không quan trọng của chương trình trong khi phát triển (có ý tưởng nào khác không?))?
Cảm ơn.