2009-09-02 12 views

Odpowiedz

20

Zgodnie z Uzupełnieniem kodu, komentarze służą do zilustrowania celu kodu. Używanie jej do innych celów może spowodować "zanikanie komentarzy".

To powiedziawszy, śledzenie własności kodu, dziennik zmian i kto ostatnio modyfikuje plik, IMHO, jest zadaniem repozytorium kontroli wersji, takiego jak SVN i inne, i nie powinno znajdować się w komentarzach. Chyba że jest to licencja jakiegoś rodzaju. Lub użyj systemu zakładek IDE, aby śledzić, kto jest autorem funkcji, i kto jest osobą odpowiedzialną za to.

Wszystko to jest tylko moja wartość 2 centów.

16

Jeśli kod źródłowy jest pod kontrolą, nie.
Tego rodzaju dane powinny być przechowywane w repozytorium kodu źródłowego.

Jeśli kod ma być szeroko rozpowszechniany (w innym środowisku bez żadnego repozytorium), to tak, może być przydatny. (niektóre źródła java zawierają informacje tego rodzaju, a także numer wersji, pod którym dostępna jest pewna ewolucja kodu)

Oczywiście ten rodzaj informacji (dla powszechnie stosowanej podstawy kodu) jest na poziomie plik poziom tylko.
Rozważmy na przykład kodu źródłowego java.lang.Boolean w Javie:

/** 
* [...] 
* In addition, this class provides many methods for 
* converting a {@code boolean} to a {@code String} and a 
* {@code String} to a {@code boolean}, as well as other 
* constants and methods useful when dealing with a 
* {@code boolean}. 
* 
* @author Arthur van Hoff 
* @version 1.60, 05/05/07 
* @since JDK1.0 
*/ 
public final class Boolean implements java.io.Serializable, 
    Comparable<Boolean> { 
[...] 

Nie masz wszystkich autorów od początku czasu, tylko najnowszej jeden, z ostatniego powiązanego wersji głównej do najnowszej modyfikacji oraz wersję oryginalnego wprowadzenia klasy.

Może to na przykład pomóc w przypadku API tooling, jeśli chcesz zachować dobre interfejsy API.

Jednak informacje o autorze są nadal ograniczone do pliku, a nie do funkcji: reprezentuje on koordynatora lub menedżera agregacji dla wszystkich funkcji obecnych w klasie, mimo że z czasem mógł istnieć więcej niż jeden autor.

Jako taka, jest to publicznego informacje, godne umieścić bezpośrednio w pliku, w przeciwieństwie do prywatnych meta-danych (który pisze co), przechowywany jak wszystkie inne meta-danych (data, wersja, gałąź, scalanie informacji, ...) w repozytorium kodu źródłowego.

+0

... za * każdą pojedynczą funkcję *? Ilu autorów ma klasa? I czy nie wystarczy podać je raz, dla całej klasy? –

+0

@Konrad: prawda, miałem na myśli część "nawet pliki" w pytaniu OP. Nie widziałem tych informacji o funkcjach. – VonC

+0

Nawet w przypadkach, gdy ma to sens, autor i informacje o wersji powinny być stemplowane przy użyciu funkcji słów kluczowych RCS używanego VCS. Poleganie na inżynierach, aby ręcznie zachować te informacje * spowoduje * niedokładne informacje w pliku komentarzy. –

1

Nie. Ty lub firma, w której pracujesz, niejawnie posiada prawa autorskie. Ale mówiąc o tym do celów śledzenia, warto zapytać tę osobę, co ten kod zrobił później.

+1

To jest SCC dla ... –

+0

Nie jestem pewien, czy informacje o prawach autorskich można umieścić w metadanych. Ale odpowiedź VonC jest bardziej kompletna. –

-1

Tak, jest to potrzebne. Jeśli to możliwe podaj datę wraz z nazwą. Służy do śledzenia celu, a także daje uprawnienia innym, aby poznać właściciela tej funkcji.

2

Tak kod będzie w kontroli źródła

Wtedy nie.Kontrola źródła zajmuje się śledzeniem tego (blame).

Specjalnie dla zespołów projektów OpenSource może być przydatne lub konieczne wskazanie autora konkretnego fragmentu kodu. Ale komentowanie każdej pojedynczej funkcji wydaje się naprawdę przesadne, tym bardziej, że większość zajęć zostanie napisana przez tego samego autora (n'est-ce pas?). Podoba mi się konwencja biblioteki Java określająca autora (ów) dla każdej klasy. W jakiś sposób wydaje się, że to właściwy kompromis.

Po drugiej stronie, jeśli jesteś współautorem klasy, jesteś winny, jeśli ktoś inny napisze w nim zły kod. Właściwie to myślę, że to jest dobra rzecz: rzecz. Klasa (przynajmniej w wersji OOP) jest jedną jednostką, więc jakość zależy od jej ogólnej jakości. Jeśli jedna funkcja jest zła, tak samo jest w przypadku całej klasy.

0

W niektórych projektach nazwiska autorów można wykorzystać do przyznania zaliczenia komuś, kto włożył więcej wysiłku w rozwój niż się od niego oczekuje. Takie uznanie może poprawić motywację.

Powiązane problemy