Хоча я можу кодувати, я ще не маю досвіду роботи над великими проектами. Мені до цього було або кодування невеликих програм, які збираються за лічені секунди (різні вправи c / c ++, такі як алгоритми, принципи програмування, ідеї, парадигми, або просто випробування api's ...) або робота над деякими меншими проектами, які були створені мовами скриптів (python, php, js), де компіляція не потрібна.
Річ у тім, що, кодуючи мову сценарію, коли я хочу спробувати, якщо щось працює - я просто запускаю сценарій і дивлюся, що відбувається. Якщо все не працює, я можу просто змінити код і спробувати його ще раз, запустивши сценарій ще раз, і продовжувати це робити, поки я не отримаю результат, який я хотів. Моя думка, що вам не доведеться чекати що-небудь компілювати, і через це досить просто взяти велику базу коду, змінити її, додати щось до неї або просто пограти з нею - ви можете побачити зміни миттєво.
Як приклад я візьму Wordpress. Спробувати і зрозуміти, як створити плагін для нього, досить легко. Спочатку ви почнете зі створення простого плагіна "Hello World", потім ви складете простий інтерфейс для панелі адміністратора, щоб ознайомитись з API, потім ви складете його та зробите щось складніше, тим часом змінюючи, як виглядає пара разів .. Ідея про необхідність перекомпілювати щось таке велике, як WP знову і знову, після кожної незначної зміни, щоб спробувати "якщо він працює" і "як це працює / відчуває", просто здається неефективною, повільною і неправильною.
Тепер, як я міг це зробити з проектом, який написаний складеною мовою? Я хотів би долучитися до якихось проектів з відкритим кодом, і це питання мене постійно не турбує. Ситуація, ймовірно, відрізняється від проекту до проекту, коли деякі з них, які були продумані заздалегідь, будуть певним чином "модульними", а інші - лише одна велика, яка потребує перекомпіляції знову і знову.
Я хотів би дізнатися більше про те, як це робиться правильно. Які існують загальні практики, підходи та проекти проектів (зразки?), Щоб впоратися з цим? Як називається ця "модульність" у світі програмістів і для чого мені слід шукати Google, щоб дізнатися більше про це? Чи часто проекти виростають із їх перших розмірів думки, що стає проблемним через деякий час? Чи є спосіб уникнути тривалого складання не дуже добре розроблених проектів? Спосіб якось їх модулювати (можливо, виключаючи нежиттєві частини програми під час розробки (будь-які інші ідеї?))?
Дякую.