Czy powinniśmy zostawić nasze dane kontaktowe w kodzie źródłowym?

15

Zazwyczaj zostawiam swój adres e-mail jako uprzejmość na wypadek, gdyby ktoś chciał mi zadać pytanie na ten temat później. Czy inni ludzie zostawiają więcej lub mniej informacji niż to? Czy ktoś zostawia numer telefonu?

prawdopodobnie na plaży
źródło
7
****** Nie. ******
Joel Etherton
1
@Joel - ****** Hell No. ****** Pamiętam część kodu, który wypuściłem na świat i wolałbym raczej o nim zapomnieć, niż przypomnieć sobie o tym za 10 lat pytając mnie WTF! = P
jmq

Odpowiedzi:

28

Prawie nigdy nie zostawiam swojego nazwiska ani adresu e-mail:

  • Ma tendencję do wklejania (tak, zła praktyka) ; i w końcu ludzie kontaktują się ze mną w sprawie kodu, którego nie napisałem
  • Po zmodyfikowaniu kodu dane kontaktowe nie są usuwane ani aktualizowane; i w końcu ludzie kontaktują się ze mną w sprawie kodu, który zmienił się tak bardzo, że nawet go nie rozpoznaję.

Zamiast tego wolę wskazywać ludziom repozytorium kodu (SVN, Git, ...) : tam mogą mieć pełną historię - i dowiedzieć się, kto napisał / zmodyfikował część, o którą mają pytanie.

Pascal MARTIN
źródło
6

Zwykle mam w zwyczaju zostawiać swoje imię lub inicjały w nagłówkach komentarzy, z numerem wersji i krótkim opisem zmiany.

Niedawno zrezygnowałem z tego nawyku, ponieważ jest to zbędne w przypadku kontroli wersji, np. Każdy zainteresowany tym, kto dokonał zmian, może zobaczyć całą historię kodu źródłowego w kontroli wersji.

Brandon
źródło
Aha! Czas złożyć skargę do NetBeans na ich domyślne szablony.
Gio Borje
5

Jeśli tworzysz oprogramowanie profesjonalnie, najprawdopodobniej używasz jakiegoś systemu kontroli wersji (svn, hg, git itp.). W tym przypadku uważam za zbędne pozostawienie danych osobowych w kodzie, ponieważ masz już konto programisty (z tymi informacjami), aby móc zatwierdzić kod w projekcie.

Jednak niektórzy ludzie ze społeczności open source uważają za interesujące pozostawienie nazwiska i adresu e-mail do kontaktu. To wcale nie jest zły pomysł. Sprawdź te przykłady:

Z FFmpeg:

/*
 * Interplay C93 video decoder
 * Copyright (c) 2007 Anssi Hannula <[email protected]>
 *
 * This file is part of FFmpeg.
 */

Z DirectFB:

/*
   (c) Copyright 2001-2009  The world wide DirectFB Open Source Community (directfb.org)
   (c) Copyright 2000-2004  Convergence (integrated media) GmbH

   All rights reserved.

   Written by Denis Oliver Kropp <[email protected]>,
              Andreas Hundt <[email protected]>,
              Sven Neumann <[email protected]>,
              Ville Syrjälä <[email protected]> and
              Claudio Ciccani <[email protected]>.
*/
karlphillip
źródło
3

Ale z pewnością pozostawienie mojego imienia i nazwiska lub adresu e-mail oznaczałoby, że miałem pisać komentarze w moim kodzie? Niestety nie było odpowiedzi. W rzeczywistości zazwyczaj zostawiam komentarze doctype ...

/**
* @author PurplePilot
* @package
* @etc
*/

z moim imieniem, ale nie adresem e-mail. Tak, ten kod można wyciąć i wkleić, ale jeśli kopiarka nie zmieni nazwiska autora, nie zmieni niczego innego i stanie się oczywiste, że jest to niezachowany komentarz.

Mam e-maila, którego używam od czasu do czasu

/* Anything you put in comments is not tested and easily goes out of date. */

co wydaje się być ogólnym odzwierciedleniem wielu innych postów w tym wątku. Ponieważ jednak nie ma żadnych zasad na ten temat, programista musi zrobić to, co najbardziej mu odpowiada.

PurplePilot
źródło
Err ... co? Myślę, że powinien to być komentarz.
Adam Lear
2
@Anna - Err .... Myślę, że to żart.
ocodo
@ Slomojo Tak, mam to. Nadal uważam, że jest to bardziej odpowiednie jako komentarz. To urocze, ale bez odpowiedzi.
Adam Lear
@Anna, och, rozumiem, może, ale to działa jako odpowiedź na pytanie, kiedy je czytam.
ocodo
2

Często zostawiam swoje inicjały w komentarzach (w stosownych przypadkach), ale nie widzę powodu, aby pozostawić coś więcej. Jeśli nadal pracuję w firmie, która jest właścicielem kodu, ludzie powinni wiedzieć, jak się ze mną skontaktować.

Jeśli opuściłem firmę i pracuję gdzie indziej, to nie jest tak naprawdę uczciwe wobec mojego nowego pracodawcy, jeśli odbieram telefony o oprogramowaniu w mojej ostatniej firmie (która może być konkurentem!).

Jeśli kod został udostępniony w inny sposób (np. Open source, opublikowany online), być może warto mieć swoje dane kontaktowe, ale jeśli kod został przekazany w inny sposób, osoba, której go podałeś, prawdopodobnie już będzie mieć Twój dane kontaktowe i czy naprawdę chciałbyś, żeby ktoś nieznajomy dzwonił z pytaniem o kod napisany wiele lat wcześniej?

Danny Tuppeny
źródło
Tak, w firmie, która ma sens. Bardziej myślałem o kodzie opublikowanym w domenie publicznej.
1
W przypadku kodu opublikowanego publicznie prawdopodobnie w nagłówku umieściłem swoje imię / adres URL / e-mail. Prawdopodobnie użyłbym unikalnego aliasu e-mail, aby móc filtrować / blokować pocztę, jeśli zostanie ona spamowana z powodu publicznego opublikowania w Internecie.
Danny Tuppeny,
2

Istnieje pewna myśl: „Nie umieszczaj w kodzie źródłowym rzeczy, które powinny znajdować się w kontroli źródła.

Informacje o autorze są jedną z tych rzeczy, ponieważ z czasem kod będzie modyfikowany przez wiele osób w stopniu większym niż ziarnistość pliku. Dziennik winy powinien ci powiedzieć wszystko, co musisz wiedzieć.

To powiedziawszy, wiele firm śledzi zmianę autora oryginalnego pliku i nigdy go nie zmienia. Czy to jest naprawdę przydatne (gdy ludzie opuszczają firmy), nie wiem.

Podejrzewam, że główną wartością jest budowanie świadomości. Nie pójdziesz i nie poprosisz IDE o powiedzenie, kto jest autorem każdego pliku, który widzisz, ale napotykając je z czasem w bazie kodu grupy, masz pojęcie o odpowiedzialności i wiedzy fachowej w projekcie.

W przypadku domeny publicznej - zaletą jest „reklama”, wadą jest to, że ktoś może zniszczyć twój plik w przyszłości, ale nadal będzie nosił twoje imię.

Uri
źródło
2

Po 3 dekadach programowania, konserwacji i konwersji oprogramowania mogę spokojnie powiedzieć, że informacje o autorze w kodzie źródłowym są bezwartościowe.

Nigdy nie miałem z tego powodu pożytku. Nie można ufać. Żadna z osób nie jest nadal zatrudniona przez firmę. Połowa nazwisk to kontrahenci.

S.Lott
źródło
2

Nigdy nie zostawiam swoich danych kontaktowych w kodzie. Zawsze przestaje być aktualny i wydaje się, że powoduje więcej problemów niż rozwiązuje.

Inni ludzie wskazali sporo problemów, ale chciałem wspomnieć o jednym, który moim zdaniem jest najbardziej podstępnym efektem.

Może zniszczyć pracę zespołową i jakość kodu.

Jak możesz zapytać, cóż, wszystko to ma związek z własnością zbiorowego kodu. Jeśli podasz nazwę kodu, następna osoba, która wejdzie, powie „to nie jest mój kod, ja po prostu X”, gdzie X może go zhakować, zignorować itp. Jeśli to naprawią, oczywiście chcą umieścić swoją nazwę w kodzie, ponieważ go poprawili. Ale możesz pomyśleć, hej, spędziłem tygodnie nad tym kodem, a oni spędzili 10 minut, dlaczego mają prawo do mojego imienia. Z biegiem czasu ten cykl trwa i ludzie spierają się o to, kto powinien otrzymać kredyt (lub winę) za kod.

To po prostu nie działa dobrze dla zespołu. Zamiast tego, jeśli zespół skupił się na zbiorowej własności i uczynieniu całego kodu świetnym bez własności, możesz skupić się na tym, co jest naprawdę ważne, jakim jest jakość systemu. Jeśli musisz wyśledzić, kto nad tym pracował, zawsze możesz skorzystać z VCS, aby uzyskać szczegółowe informacje.

Uwaga: nawet nagłówki praw autorskich mogą mieć ten destrukcyjny wpływ, jeśli mają nazwę programisty, szczególnie jeśli programista nie jest tak aktywny jak inni współautorzy. Dlatego w projektach Open Source staram się wspomnieć tylko o autorach w pliku AUTORZY lub współautorzy, umieszczając jedno miejsce w projekcie.

Allen
źródło
1
Myślę, że twoje problemy wynikają bardziej ze źle myślących współpracowników niż z samych komentarzy.
Jay
Świetna odpowiedź, niektóre projekty typu open source zabraniają nawet zapisywania informacji o autorze w plikach, ponieważ łamią one zbiorowe prawa własności do kodu.
Étienne
1

Nie zostawiam moich danych kontaktowych w kodzie źródłowym, ponieważ mój VCS dba o mnie.

To powiedziawszy, wskazane jest, aby mieć gdzieś swoje dane kontaktowe , aby osoby korzystające z kodu mogły skontaktować się z Tobą bezpośrednio, aby przekazać swoją opinię. Link do strony internetowej projektu w pliku README jest ogólnie dobrą praktyką.

Konwencja pochodzi z epoki, w której Usenet i IRC były regularnie używane do udostępniania kodu źródłowego. Ponieważ kod rzadko był łączony z VCS i częściej wysyłany bezpośrednio, jeśli chcesz uzyskać informację zwrotną, musisz gdzieś podać swoje dane kontaktowe.

Chris Browne
źródło
1

Zostawiam swoje nazwisko w skryptach SQL, ponieważ będą one w większości pobierane bezpośrednio z bazy danych, a nie z kontroli źródła.

Cosmin
źródło