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?


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.


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.


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 <anssi.hannula@gmail.com>
 *
 * 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 <dok@directfb.org>,
              Andreas Hundt <andi@fischlustig.de>,
              Sven Neumann <neo@directfb.org>,
              Ville Syrjälä <syrjala@sci.fi> and
              Claudio Ciccani <klan@users.sf.net>.
*/

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.


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?


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ę.


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.


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.


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.


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.

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.