Должны ли мы оставить наши контактные данные в исходном коде?

15

Я обычно оставляю свой адрес электронной почты в качестве любезности на случай, если кто-то захочет задать мне вопрос об этом позже. Другие люди оставляют больше или меньше информации? Кто-нибудь оставил номер телефона ??

наверное на пляже
источник
7
****** Нет. ******
Джоэл Этертон
1
@Joel - ****** Ад нет. ****** Я помню некоторые коды, которые я выпустил в мир, и я бы скорее попытался забыть это, чем напоминать о них через 10 лет кем-то спрашиваю меня WTF! = P
JMQ

Ответы:

28

Я почти никогда не оставляю ни свое имя, ни адрес электронной почты:

  • Это имеет тенденцию быть вставленным копией (да, плохая практика) ; и я заканчиваю тем, что люди связываются со мной для кода, который я не писал
  • При изменении кода контактная информация не удаляется и не обновляется; и я заканчиваю тем, что люди связываются со мной по поводу кода, который так сильно изменился, что я даже не узнаю его.

Вместо этого я предпочитаю указывать людей на репозиторий кода (SVN, Git, ...) : там они могут иметь полную историю - и узнать, кто написал / изменил часть, о которой у них есть вопрос.

Паскаль МАРТИН
источник
6

Я привык оставлять свое имя или инициалы в заголовках комментариев, с номером ревизии и кратким описанием изменения.

Я недавно избавился от этой привычки, учитывая тот факт, что это избыточно с контролем версий, например, любой, кто интересуется, кто внес какие изменения, может видеть всю историю исходного кода в управлении версиями.

Brandon
источник
Ага! Пора пожаловаться NetBeans на шаблоны по умолчанию.
Джио Борже
5

Если вы разрабатываете программное обеспечение профессионально, вы, скорее всего, используете какую-то систему контроля версий (svn, hg, git и т. Д.). В этом случае я считаю излишним оставлять свою личную информацию внутри кода, поскольку у вас уже есть учетная запись кодера (с этой информацией), чтобы иметь возможность зафиксировать код в проекте.

Тем не менее, некоторые люди из сообщества открытого исходного кода считают интересным оставить имя и адрес электронной почты для контакта. Это совсем не плохая идея. Проверьте эти примеры:

От FFmpeg:

/*
 * Interplay C93 video decoder
 * Copyright (c) 2007 Anssi Hannula <anssi.hannula@gmail.com>
 *
 * This file is part of FFmpeg.
 */

Из 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>.
*/
karlphillip
источник
3

Но, конечно же, оставив свое имя и / или адрес электронной почты, я мог бы написать комментарии в своем коде ?? Извините не было ответа. На самом деле я обычно оставляю комментарии типа документа ...

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

с моим именем, но не адресом электронной почты. Да, этот код может быть вырезан и вставлен, но если копир не изменит имя автора, он больше ничего не изменит, и станет очевидным, что это необоснованный комментарий.

У меня есть электронная почта, которую я использую время от времени, которая идет

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

который, кажется, является общим отражением многих других сообщений в этой теме. Однако, поскольку на эту тему нет правил, программист должен делать то, что ему удобнее всего.

PurplePilot
источник
Эээ ... что? Я думаю, что это должен был быть комментарий.
Адам Лир
2
@ Анна - Эээ ... Я думаю, это должно быть шутка.
ocodo
@ Сломохо Да, я понял. Тем не менее, думаю, что это более уместно в качестве комментария. Это мило, но без ответа.
Адам Лир
@ Анна, о, я понимаю, возможно, но это работает как ответ на вопрос, когда я читаю это.
ocodo
2

Я часто оставляю свои инициалы в комментариях (где это уместно), но не вижу причин оставлять что-либо еще. Если я все еще работаю в компании, которая владеет кодом, люди должны знать, как связаться со мной.

Если я уйду из компании и буду работать в другом месте, это не совсем справедливо по отношению к моему новому работодателю, если я отвечаю на вопросы о программном обеспечении в моей последней компании (которая может стать конкурентом!).

Если код был передан каким-либо другим способом (например, с открытым исходным кодом, размещен в сети), то, возможно, стоит иметь свои контактные данные, но если код был передан другим способом, у человека, которому вы его передали, скорее всего, уже есть ваш контактные данные, и вы действительно хотите, чтобы случайный незнакомец позвонил и спросил о коде, который вы написали годами ранее?

Дэнни Таппени
источник
Да, внутри компании, которая имеет смысл. Я больше думал о коде, опубликованном в открытом доступе.
1
Для общедоступного кода, я бы, наверное, назвал мое имя / url / email в шапке. Я бы, вероятно, использовал уникальный псевдоним электронной почты, чтобы я мог фильтровать / блокировать почту, если она в конечном итоге стала спамом из-за публичного размещения в сети.
Дэнни Таппени
2

Существует мысль, которая гласит: не вставляйте в исходный код то, что должно быть в контроле исходного кода.

Информация об авторстве является одной из таких вещей, так как со временем многие люди будут изменять код с меньшей степенью детализации файла. Журнал обвинений должен рассказать вам все, что вам нужно знать.

Тем не менее, многие компании следуют за переходом из списка оригинального автора файла и никогда не меняют его. Действительно ли это полезно (когда люди уходят из компаний), я не знаю.

Я подозреваю, что главной ценностью является повышение осведомленности. Вы не пойдете и не попросите IDE сообщить вам, кто является автором каждого файла, который вы видите, но, встретив их со временем в кодовой базе вашей группы, вы получите представление об обязанностях и опыте в проекте.

Что касается общественного достояния - преимущество заключается в «рекламе», недостатком является то, что кто-то может разрушить ваш файл в будущем, но он все равно будет носить ваше имя.

Uri
источник
2

После трех десятилетий программирования, поддержки и преобразования программного обеспечения я могу с уверенностью сказать, что информация об авторах в исходном коде ничего не стоит.

Я никогда не использовал это. Этому нельзя доверять. Никто из людей до сих пор не работает в компании. Половина имен - подрядчики.

С. Лотт
источник
2

Я никогда не оставляю свои контактные данные в коде. Это всегда устаревает и, кажется, вызывает больше проблем, чем решает.

Другие люди указали на некоторые из проблем, но я хотел бы упомянуть одну, которая, по моему мнению, является наиболее коварной.

Это может разрушить командную работу и качество кода.

Как вы можете спросить, все это связано с коллективным владением кодом. Если вы введете свое имя кода, то следующий человек, который придет, скажет: «Это не мой код, я просто X», где X может взломать его, проигнорировать его и т. Д. Затем, если они это исправят, они конечно, хотят поставить свое имя в коде, потому что они улучшили его. Но тогда вы можете подумать: эй, я потратил недели на этот код, а они потратили 10 минут, почему они получают свое имя прямо от меня. Со временем этот цикл продолжается, и люди спорят о том, кто должен получить кредит (или обвинить) за код.

Это просто плохо работает для команды. Вместо этого, если команда сконцентрировалась на коллективной собственности и создании всего кода без владения, вы можете сосредоточиться на том, что действительно важно, а именно на качестве системы. Если вам нужно отследить, кто работал над этим, вы всегда можете использовать VCS для получения подробной информации.

Примечание. Даже заголовки авторских прав могут иметь это разрушительное влияние, если у них есть имя разработчика, особенно если разработчик не так активен, как другие участники. Вот почему в проектах с открытым исходным кодом я стараюсь упоминать авторов в файле АВТОРОВ или авторов только в одном месте проекта.

Аллен
источник
1
Я думаю, что ваши проблемы проистекают больше из плохо мыслящих коллег, чем из самих комментариев.
Jay
Отличный ответ, некоторые проекты с открытым исходным кодом даже запрещают записывать информацию об авторах в файлы, потому что это нарушает коллективное владение кодом.
Этьен
1

Я не склонен оставлять свою контактную информацию в исходном коде, так как моя VCS берет на себя ответственность за меня.

Тем не менее, желательно, чтобы ваша контактная информация была где-то, чтобы люди, которые используют код, могли связаться с вами напрямую, чтобы оставить отзыв. Ссылка на сайт проекта в файле README, как правило, является хорошей практикой.

Соглашение относится к эпохе, когда Usenet и IRC регулярно использовались для обмена исходным кодом. Поскольку код редко связывался с VCS и чаще отправлялся напрямую, если вы хотите получить обратную связь, вам нужно будет где-то указать свою контактную информацию.

Крис Браун
источник
1

Я оставляю свое имя в сценариях SQL, так как они в основном будут получены непосредственно из базы данных, а не из системы контроля версий.

Космин
источник