Chociaż potrafię kodować, nie mam jeszcze doświadczenia w pracy przy dużych projektach. Do tej pory robiłem albo kodowanie małych programów, które kompilowałem w ciągu kilku sekund (różne ćwiczenia c / c ++, takie jak algorytmy, zasady programowania, pomysły, paradygmaty, lub po prostu wypróbowywanie interfejsu API ...) lub praca nad kilkoma mniejszymi projektami, które były wykonane w języku (językach) skryptowym (python, php, js), w których nie jest wymagana kompilacja.
Chodzi o to, że kiedy koduję w języku skryptowym, za każdym razem, gdy chcę spróbować, czy coś działa - po prostu uruchamiam skrypt i sprawdzam, co się stanie. Jeśli coś nie działa, mogę po prostu zmienić kod i wypróbować go ponownie, uruchamiając skrypt ponownie i robiąc to, dopóki nie uzyskam oczekiwanego rezultatu. Chodzi mi o to, że nie musisz czekać na wszystko do skompilowania, dzięki czemu łatwo jest wziąć dużą bazę kodu, zmodyfikować ją, dodać do niej coś lub po prostu grać z nią - zmiany można zobaczyć natychmiast.
Jako przykład wezmę Wordpress. Łatwo jest spróbować dowiedzieć się, jak utworzyć dla niego wtyczkę. Najpierw zaczniesz od utworzenia prostej wtyczki „Hello World”, następnie utworzysz prosty interfejs dla panelu administracyjnego, aby zapoznać się z interfejsem API, a następnie zbudujesz go i stworzysz coś bardziej złożonego, w międzyczasie zmieniając jego wygląd razy .. Pomysł powtarzania kompilacji czegoś tak dużego jak WP w kółko, po każdej drobnej zmianie, aby spróbować „jeśli to działa” i „jak to działa / czuje się” wydaje się po prostu nieefektywny, powolny i niewłaściwy.
Jak mogę to zrobić z projektem napisanym w skompilowanym języku? Chciałbym uczestniczyć w niektórych projektach typu open source, a to pytanie wciąż mnie denerwuje. Sytuacja prawdopodobnie różni się w zależności od projektu, w którym niektóre z nich, które zostały mądrze przemyślane, będą w pewnym sensie „modułowe”, podczas gdy inne będą tylko jednym wielkim blobem, który należy ponownie kompilować.
Chciałbym dowiedzieć się więcej o tym, jak to zrobić poprawnie. Jakie są typowe praktyki, podejścia i projekty projektów (wzorce?), Aby sobie z tym poradzić? Jak nazywa się ta „modułowość” w świecie programistów i po co powinienem szukać w Google, aby dowiedzieć się więcej na ten temat? Czy często projekty wyrastają z pierwotnych proporcji, które po pewnym czasie stają się kłopotliwe? Czy jest jakiś sposób na uniknięcie długiego kompilowania niezbyt dobrze zaprojektowanych projektów? Sposób na ich modularyzację (może z wyłączeniem nieistotnych części programu podczas opracowywania (jakieś inne pomysły?))?
Dzięki.