Jaki jest najlepszy sposób przechowywania dokumentacji związanej z projektem kodu?

10

Mamy wiele dokumentów związanych z tworzeniem naszego oprogramowania. Należą do nich między innymi wymagania, dokumenty projektowe, zewnętrzne pliki PDF, pliki klientów, instrukcje testowania itp. Obecnie dokumenty te są rozrzucone po całym miejscu (wiki, „jakieś miejsce w sieci”, dysk twardy lokalnego programisty (!), i jeszcze gorsze miejsca).

Jaki jest najlepszy sposób, aby je śledzić? Ponieważ do tworzenia używamy Visual Studio (2010) i naprawdę nie mamy żadnych nie-programistów w projekcie, pomyślałem, że dobrym pomysłem byłoby przechowywanie ich w ramach „rozwiązania” VS, co pozwoliłoby im być kontrolowanym przez źródła i powszechnie dostępnym dla wszystkich programistów.

Jednak VS naprawdę nie wydaje się być zbudowany do tego. Jeśli edytujesz dowolny plik dokumentu, nawet taki, który jest skonfigurowany z właściwościami kompilacji „Brak”, „Nie kopiuj”, VS musi odbudować oprogramowanie przed jego ponownym uruchomieniem. W rozwiązaniu nie ma możliwości utworzenia „Projektu dokumentacji”. (W tym celu używamy pustego projektu C #). Visual Studio i Word / Excel flat nie kontrolują dobrze źródła. Nie można wyświetlić zameldowanego pliku, a następnie zdecydować się na zmianę bez uprzedniego zamknięcia pliku, przejścia do projektu i ręcznego sprawdzenia go przed dokonaniem zmiany. W najlepszym razie jest powolny i nużący.

W każdym razie jest to najlepsze, co wymyślił nasz zespół, ale naprawdę chciałbym mieć lepsze (bezpłatne) rozwiązanie.

David
źródło
Jak duży jest twój zespół?
Jeff
Mamy teraz 3-4.
David
Jakiej kontroli wersji używasz konkretnie. Nie znam formantu źródłowego, w którym jesteś związany z używaniem Visual Studio do zarządzania nim.
Earlz
Tam, gdzie pracuję, używamy TFS do przechowywania kodu, a SharePoint do dokumentacji, planów testowych itp.
Job
4
Nie polecałbym umieszczania dokumentów takich jak pliki PDF w VSS. Pamiętaj, że tak naprawdę nie polecam umieszczania kodu źródłowego w VSS.
Carson63000,

Odpowiedzi:

3

Nie jestem pewien, czy istnieje jeden „najlepszy sposób”, ale z twojego opisu brzmi to tak, jakby każdy programista robił swój własny sposób przechowywania dokumentacji. Zdobądź wejściówkę od wszystkich na jedną metodę przechowywania dokumentacji, a dużo łatwiej będzie ją uporządkować.

Oprócz odpowiedzi „znajdź najlepszy dla siebie sposób”, powiedziałbym, aby przynajmniej znaleźć rozwiązanie, które ułatwi wyszukiwanie dokumentów . W jednej firmie założyłem wiki, która zawierała linki do plików rozpowszechnianych na serwerach, co nagle znacznie ułatwiło wyszukiwanie i lokalizowanie dokumentów bez względu na to, gdzie się znajdowały. Gdy inni użytkownicy zaczęli używać wiki do wyszukiwania dokumentów, zaczęli ją aktualizować, aby połączyć nowe dokumenty lub po prostu tworząc wpis wiki jako dokument.

Chciałbym usłyszeć od kogokolwiek innego, jeśli wie o darmowych systemach kontroli wersji, które działają dobrze z dokumentami. Jedyne, co wychodzi mi z głowy, to Sharepoint, który nie jest całkowicie darmowy. Widziałem nieoficjalne systemy wersjonowania, w których ludzie mają folder „Archiwum”, i po prostu umieszczają wcześniejsze wersje pliku w tym folderze, przy czym najnowsza wersja jest na tym samym poziomie folderu, co „Archiwum”.

Jeff
źródło
Nasze rozwiązanie „wiki” jest albo linkiem do udziału sieciowego (lub linkiem bezpośrednio do plików w sieci. Wadą jest brak kontroli wersji. Lub możesz pobrać / edytować / przesłać plik na wiki, który jest 10-etapowy proces, za każdym razem, gdy chcesz go edytować, aby naprawić literówkę
David
mnóstwo darmowych alternatyw dla SharePoint (które są lepsze!): wypróbuj Nuxeo, aby uzyskać prostą w konfiguracji. Lub Alfresco po coś o większej mocy, jeśli jej potrzebujesz.
gbjbaanb
Wyszukiwarka Google zainstalowana na twoim komputerze czyni cuda w lokalizowaniu rzeczy.
3

Najlepszym rozwiązaniem w mojej firmie było założenie wiki (korzystamy z mediawiki). Jest przyzwyczajony na wiele sposobów, od tradycyjnych wpisów wiki po proste „To jest ...” plus dokument Word. Wyszukiwanie jest bardzo łatwe. Stopniowo budujemy bardzo przydatne repozytorium informacji.

Michael K.
źródło
Próbowaliśmy użyć doku-wiki, ale korzystanie z niego jest bardzo żmudne (próba naprawy literówki w dokumencie to 10 żmudnych kroków), a także brak wsparcia dla wielu użytkowników w zakresie tego, kto edytuje. Było też wiele ostrzeżeń i ograniczeń dotyczących rozmiaru i rozszerzenia pliku, które naprawdę po prostu bardziej irytowały niż pomagały. Nie dostałem żadnego wpisu na używanie go od innych osób w firmie. Widzę wielki potencjał, ale niestety nie dla mojej firmy.
David
1

Przynajmniej w VS 2008 możesz ustawić typ konfiguracji projektu C ++ (w obszarze właściwości projektu -> ogólne -> ustawienia domyślne projektu) na Narzędzie , w którym to przypadku VS nic z tym nie robi.

Czy próbowałeś użyć takiego projektu w swoim rozwiązaniu opartym na języku C #? (Może projekt C # ma coś podobnego?)

Macke
źródło
0

Zdecydowanie zgadzam się, że nie ma tutaj jednego najlepszego rozwiązania. Ale kontrola wersji! = Zawarta w rozwiązaniu; większość systemów może obsługiwać rzeczy wykraczające poza IDE. Więc można trzymać dokumenty blisko, ale nota w większości przypadków.

Przezwyciężenie irytujących nawyków zmiany słów przy otwieraniu plików to już inny problem. . .

Wyatt Barnett
źródło
0

Nie, projekty Visual Studio (cóż, C # i Vb.net) mają zaskakujące podejście do eksploratora rozwiązań. VC ++ jeden jest DUŻO lepszy, ponieważ możesz tworzyć wirtualne foldery, które nie są powiązane z układem dysku, i umieszczać w nim również różne rzeczy. Głupiutki Microsoft złamał go, próbując uczynić go „łatwiejszym do zrozumienia”.

Nadal możesz umieścić go w „folderze rozwiązań”, ale nadal nie jest on tak elastyczny, jak prawdopodobnie będziesz chciał. Oznacza to, że musisz znaleźć alternatywę, a moimi zalecanymi alternatywami są narzędzia internetowe. Jeśli nie chcesz wypróbować portalu projektu (takiego jak Redmine), w którym możesz przechowywać dokumenty i mieć wiki, narzędzie do śledzenia błędów itp., Skorzystaj z narzędzia do zarządzania dokumentami. Coś w stylu Nuxeo lub Owl dobrze by Ci zrobiło. Gdy jest już dostępny w Internecie, masz centralną lokalizację, dzięki czemu ludzie wiedzą, gdzie szukać tych rzeczy - to prawdopodobnie najważniejsza część zarządzania dokumentami. Jeśli powiążesz go z systemem kontroli wersji, takim jak subversion (kontynuuj, nie pożałujesz go po VSS!), To nadal będziesz mógł połączyć dokumenty z narzędziami sieciowymi i kontrolować je również.

Subversion ma nawet możliwość ujawnienia repozytorium jako folderu webdav - tj. Folderu sieciowego - więc możesz umieścić je na „dysku sieciowym”, a mimo to automatycznie kontrolować ich wersję.

Nadal wybrałbym Redmine jako moją osobistą preferencję.

gbjbaanb
źródło