Ile wysiłku wymaga utrzymanie systemu kompilacji?


9

W StackExchange Podcast # 09 zaznaczono:

W innym badaniu ostatnio sprawdzono, ile wysiłku włożono w utrzymanie systemu kompilacji: od 5 do 30% wszystkich prac rozwojowych poświęcono na utrzymanie systemu kompilacji. Różnice są ogromne, nawet podczas pracy nad podobnymi projektami.

Jaka jest nazwa badania, do którego się odnosi, i gdzie można go znaleźć? Dźwięk podcastu nie zawiera dalszych szczegółów.

Ponadto, czy ktoś ma jakieś linki do innych badań dotyczących tego samego tematu.


3
Łał. Nigdy nie przyszło mi do głowy, że sklep może spędzać tyle czasu na systemie kompilacji. Mamy ręcznie wykonany, niestandardowy system kompilacji, który wykonuje nocne kompilacje wszystkich (20 niektórych) wersji i (50 niektórych) gałęzi programistycznych (jeśli zmiany zostały zatwierdzone), uruchamia testy jednostkowe oraz zatrzymuje i uruchamia serwery testowe (jeden lub więcej na wydanie i jeden lub więcej dla wielu gałęzi rozwoju), wyniki maili itp. Jednak w ciągu 4 lat, w których pracowałem u tego pracodawcy, nie sądzę, że spędziliśmy na tym więcej niż kilka osobo tygodni obejmuje rozszerzenie funkcji naszego niestandardowego rozwiązania!
Marjan Venema,

Tak się dzieje, gdy ludzie odnoszą się do czegoś / kogoś i zapominają o dodaniu odniesień ...
wleao

Nie znam badania, ale wyniki mogą się różnić w zależności od tego, co zdefiniujesz przez „utrzymanie systemu kompilacji”. „Czy dodawanie lub zmiana plików” jest tego częścią? Czy konfigurowanie instalatora jest częścią „utrzymania systemu kompilacji”?
Doc Brown,

Odpowiedzi:


1

Nie słyszałem podcastu, ale badanie jest prawdopodobnie opracowaniem z najnowszego ICSE , zatytułowanym „An Empirical Study of Build Maintenance Effort” Shane'a McIntosha i in. Sprawdź bezpośredni link (lub oficjalną stronę DOI, jeśli chcesz metadanych).

Ich badanie koncentruje się głównie na tym, jak często zmiany kodu źródłowego wpływają na kompilację i ilu programistów w zespole zazwyczaj zajmuje się utrzymaniem kompilacji. Pamiętam, że jest to interesujące badanie, ale liczby były dla mnie trudne do zinterpretowania, jak to często bywa w badaniach empirycznych próbujących znaleźć powiązania między rzeczami :)


2

Nie mam dla ciebie linku, ale mówiąc z własnego doświadczenia, odsetek ten różni się w zależności od 2 głównych punktów: 1) projektu i złożoności systemu 2) i organizacji osobistej

Dobrze zaprojektowany system będzie wymagał minimalnego wysiłku w utrzymaniu, nawet jeśli jest dość złożony. Ale jeśli Twój personel nie jest odpowiednio przeszkolony i zorganizowany w zakresie obsługi kodu, prawdopodobnie poświęcisz dużo czasu na naprawianie złych kompilacji lub niewłaściwych zatwierdzeń i tym podobnych ...

Jednak, gdy masz środowisko programistyczne, pytania i odpowiedzi, RC i produkcję ... Wszystko to ma wpływ na proces przechodzenia od rozwoju do rzeczywistej produkcji.

Powiedziałbym, że odsetki są prawidłowe, pochylając się bliżej 30% niż 5%. Jeśli wszystko, co inwestujesz, to 5%, robisz dobrą robotę. (Obejmuje to błędy wykryte podczas pytań i odpowiedzi, RC, a nawet produkcji z powodu nieprawidłowego zarządzania systemem kompilacji, co może powodować ogromne opóźnienia).


Jeśli wszystko, co inwestujesz, to 5%, sugerowałbym, że nie mierzysz wszystkiego dokładnie.
mattnz

bez mat. Używasz innej definicji. Większość firm, dla których pracowałem, nie ma ŻADNEGO systemu kompilacji, ponieważ nie ma żadnych automatycznych serwerów kompilacji, integracji VCS (często w ogóle nie ma VCS, z wyjątkiem samych projektów, które same mogłyby powstać, co kończy się pod radarem) itp. W każdym „badaniu” procentu zasobów wykorzystanych na utrzymanie „systemu kompilacji” ostatecznie wymieniono je jako wydawanie prawie nic, chyba że zostało to podzielone, aby uwzględnić wysiłek włożony w utrzymanie wszystkich skryptów ANT i Maven, coś rzadko robione.
jwenting
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.