Kod kleju to kod komputerowy, który łączy programy lub komponenty oprogramowania, które w inny sposób nie byłyby kompatybilne. Ten kod zwykle nie służy do celów takich jak obliczenia lub obliczenia, ale służy wyłącznie jako proxy między dwoma niekompatybilnymi częściami oprogramowania. Języki programowania obiektowego można łączyć z językami skryptowymi, dwa języki zorientowane obiektowo mogą być połączone razem lub duże fragmenty w tym samym języku można połączyć za pomocą tego kodu.
Chociaż kod kleju może być używany do przesyłania informacji między językami komputerowymi, nie jest to wymagane. Ogólnie rzecz biorąc, umożliwia to jednemu fragmentowi kodu wywoływanie funkcji w drugim lub umożliwia przekazywanie małych wartości danych między blokami kodu. Niektóre generatory kodu umożliwiają przekazywanie określonych przez użytkownika struktur danych między modułami kodu, ale nie wszystkie z nich to robią. Przenoszenie dużych fragmentów danych przez kod łączący może nie zawsze być niezawodne.
Wygenerowany kod kleju, zwłaszcza gdy łączy różne języki komputerowe, często zawiera fragmenty kodu specyficzne dla każdego podłączonego modułu kodu. Na przykład, aby połączyć C++ z Javą, wygenerowany kod może zawierać zarówno plik C++, jak i plik Java. Dopóki nie zostaną wprowadzone żadne większe zmiany w strukturach podłączonych modułów kodu, wygenerowane pliki nie muszą być zmieniane, ale mogą wymagać aktualizacji w trakcie rozwoju. Wygenerowane pliki, takie jak te, rzadko muszą być zmieniane lub utrzymywane przez programistę, a nigdy przez użytkownika końcowego.
Kod kleju może być używany do łączenia modułów kodu o dowolnej wielkości, od małych funkcji po duże biblioteki. W zależności od ilości kodu proxy wygenerowanego w tym celu, może wystąpić znaczne rozrost kodu i narzut, więc łączenie małych fragmentów kodu w ten sposób może nie zawsze być idealne. Z drugiej strony podczas synchronizowania wywołań do dużych bibliotek lub scalania dużych repozytoriów kodu niewielka ilość tego typu kodu może być nieocenionym sposobem na udostępnienie funkcjonalności tam, gdzie w innym przypadku może być niedostępna.
Dane Extensible Markup Language (XML) są czasami mylone z kodem kleju, ale cel każdego z nich jest zupełnie inny. XML jest językiem znaczników, co oznacza, że dodaje informacje organizacyjne i opisowe do istniejących danych w celu łatwiejszej interpretacji. Oba mogą służyć jako proxy do przenoszenia informacji, ale XML jest statyczny i znacznie bardziej ograniczony pod względem danych, które może przenosić między blokami kodu. XML umożliwia adnotacje i klasyfikację danych, a kod kleju umożliwia przenoszenie i manipulowanie danymi.