2014-10-06 9 views
20

Czym dokładnie jest vending? (jak byś to zdefiniował?)Co to jest "vendoring"?

Czy to samo dotyczy różnych języków programowania? Koncepcyjnie mówiąc, nie patrząc na dokładną realizację.

+1

Czym jest * vendoring *, nawet w przybliżeniu? Nie termin, z jakim kiedykolwiek się spotkałem. W tej chwili mam problem ze zrozumieniem słowa * sprzedawca * i zastosowanie go w domenie języków programowania jako czasownika z imieniem * -ing *. –

+0

Znalazłem, że jest on używany w światach Python, PHP i Ruby. Ale nie jest to bardzo dobrze znana koncepcja. Dlatego właśnie zadaję pytanie :-) –

+1

Fakt, że nie widziałem go tak często, przyczynia się do mojego niepełnego zrozumienia koncepcji. –

Odpowiedz

5

Jeśli Twoja aplikacja zależy od dostępności określonego kodu strony trzeciej, możesz zadeklarować zależność i pozwolić systemowi kompilacji zainstalować dla Ciebie zależność.

Jeśli jednak źródło kodu strony trzeciej nie jest bardzo stabilne, można "sprzedać" ten kod. Podajesz kod strony trzeciej i dodajesz go do swojej aplikacji w mniej lub bardziej odizolowany sposób. Jeśli poważnie potraktujesz tę izolację, powinieneś "uwolnić" ten kod wewnętrznie do swojej organizacji/środowiska pracy.

Kolejnym powodem do sprzedania jest to, że chcesz użyć kodu innej firmy, ale chcesz go trochę zmienić (inaczej mówiąc widelcem). Możesz skopiować kod, zmienić go, zwolnić wewnętrznie, a następnie pozwolić systemowi kompilacji zainstalować ten fragment kodu.

+2

Przeczytałem to już kilka razy, wciąż nie jestem pewien, czy rozumiem, czym może być * vendoring *. Z pewnością musi to być coś więcej niż ustanowienie zależności od rozwidlenia czyjegoś kodu lub nie byłoby dziwnego nowego słowa oznaczającego * to *, cokolwiek * to * może być. Ale proszę, nie przepisuj swojej definicji na moje konto, znam już dość słów i podejrzewam, że nie muszę się uczyć, co znaczy * vendoring *, jeśli w ogóle. –

+1

Myślę, że "ustanowienie zależności od rozwidlenia czyjegoś kodu" jest dość bliskie temu, co mówię, więc dzięki za to. Mam jednak wrażenie, że to coś więcej, to także "budowanie/zwalnianie własnej wersji kodu innej osoby" do określonego użytku. –

+4

Chciałbym dodać moją wiedzę na temat etymologii tego pojęcia: "sprzedawca" w tym przypadku jest twórcą oprogramowania (prawdopodobnie ty, ponieważ jesteśmy w Stack Overflow); i wysyłamy wybraną przez dostawcę wersję zależności (w przeciwieństwie do wybranej przez użytkownika lub bardziej prawdopodobnej, wybranej przez użytkownika wersji). Termin ten trwa około * bardzo * długi czas, zgodnie z moją najlepszą wiedzą. – ELLIOTTCABLE

10

podstawie this answer

Defined here dla Go jako:

Vendoring jest aktem tworzenia własnych kopii 3rd opakowaniach zewnętrznych projekt jest korzystających. Kopie te są tradycyjnie umieszczane wewnątrz każdego projektu, a następnie zapisywane w repozytorium projektu.

Kontekst tej odpowiedzi jest w języku Go, ale koncepcja nadal obowiązuje.

+1

Warto dodać, że vendoring jest koncepcyjnym przeciwieństwem używania menedżera zależności – konstin