Як ви відстежуєте авторів коду? [зачинено]


14

Це те, чого я ніколи не вчив. Я бачив багато різних типів авторських стилів. Я кодую в основному на Java та Python. Мені було цікаво, чи є стандартний авторський стиль чи все у фрістайлі. Крім того, якщо ви відповідаєте, чи не заперечуєте приєднати стиль, який ви використовуєте для авторських файлів, які ви створюєте вдома або на роботі.

Я зазвичай просто йду

@author garbagecollector
@company garbage inc.

3
Де особа, яка змінила ваш код, вказує своє ім’я?
JeffO

@Jeff де і як це виглядає.
пилопрограміст

Немає сенсу цього робити. Чому б ти хотів це зробити?
CodeART

Відповіді:


-1

Не зовсім впевнений, що ви просите, проте я використовую дуже суворий стиль:

;==========================================
; Title:  Author Style Sample
; Author: Darknite
; Date:   7 Jan 2011
;==========================================

Стиль натхненний монтажниками програми.

Я розміщую це у верхній частині сторінок, які мені потрібні "Автору", незалежно від того, чи це клас, текстовий файл чи збережена процедура SQL тощо.


Це уздовж того, що я шукаю.
пилопрограміст

5
-1 Це (що сильно зростає, якщо оновлення (і його, і код змінюються різними людьми) фактично замінюється контролем версій.
Michael Durrant

1
@MichaelDurrant ви забули закрити дужки;) все одно круто. Мені подобаються пінгвіни.
Темна ніч

4
@Giorgio Насправді ... у файлі може бути не один рядок коду оригінального автора. Це безглуздо.
Вільберт

1
@Wilbert: Звичайно, це також залежить від політики команди: при спільному володінні кодом стежити за автором файлу може бути безглуздо. При власності індивідуального коду важливо знати, хто відповідає за які файли.
Джорджіо

71

Чому б ти? це робота системи версій та "Винувати" :)


8
управління версіями ftw.
Пол Натан

1
Це має ще більш сенс зробити це саме так, якщо ви вважаєте це як управління вихідним кодом (SCM), а не систему управління версіями (VCS).
Пітер Ейзентраут

невелике обмеження, косметичні зміни (відступ тощо) змінюють автора рядка ...
Матьє М.

4
@Matthieu: Хороший SCM може показати, хто змінив з часом зміни, а не лише останній, який торкнувся цього. Я також можу стверджувати, що косметичні зміни теж є змінами.
grossvogel

1
Цій відповіді більше 8 років, і ніхто не помітив її обмежень? Він застосовується лише в тому випадку, якщо вихідний код залишається в одному VCS протягом усього часу його життя (або правильно мігрується)! Однак періодично між різними середовищами передається багато відкритих кодів, тому інформація про автора може не передаватися, якщо вона не записується безпосередньо у вихідний код.
Док Браун

11

Ми не займаємось авторською роботою в моїй компанії. Натомість ми дозволяємо нашому керуванню версії впоратися з цим.

Кожен раз, коли ви зареєструєтесь, він додає ваше ім’я користувача до списку змін. Якщо щось порушено, хтось може повернутися назад і подивитися історію змін, щоб побачити, що змінилося, коли і хто це зробив. Також акуратно дивіться на графік редакції, щоб побачити, як файл розвивався з часом, хто його торкався, які проекти від нього розгалужувались.

Проблема, яку я бачу при розміщенні авторського тегу до класу, полягає в тому, що з часом досить ймовірно, що над цим класом буде працювати більше одного розробника. Оновлення тощо. Це додатковий крок для оновлення коментаря автора, а зайві невеликі кроки, як правило, значно забуті. Таким чином, він швидко застаріває.


10

Я взагалі цього не роблю. Я думаю, що на роботі у нас є якийсь шаблон, який вставляється у файли з іменем компанії та користувачем особи, яка востаннє змінила файл, але я ніколи на це не звертаю уваги.

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


6

JavaDoc дуже стандартний у спільноті Java:

http://download.oracle.com/javase/1.3/docs/tooldocs/win32/javadoc.html#@author

@author назва-текст

Додає запис "Автор" із вказаним текстом імені до згенерованих документів, коли використовується опція -author. Коментар doc може містити кілька @authorтегів. Ви можете вказати одне ім’я на @authorтег або кілька імен на тег. У першому випадку Javadoc вставляє кому (,) та пробіл між іменами. В останньому випадку весь текст просто копіюється в згенерований документ без аналізу. Тому використовуйте кілька імен на рядок, якщо ви хочете локалізований роздільник імен, крім коми.


5

Я думаю, що найкраще залишити систему управління версіями.


4

Мені подобається функція вини в GIT. Ви можете бачити, хто автор кожного фрагмента / рядка коду. Не просто файл.


Інші ДКС мають те саме (хоча їх часто не називають "виною").
Річард

Я б -1 це тому, що це специфічно для GIT. ОП ніколи не згадував GIT. Але, на жаль, у мене не вистачає репортажу.
Томас Едінг

2

Якщо ви працюєте над великим проектом з багатьма учасниками, анотування кожного файлу зі списком авторів просто не працює. Що ви робите зі списком авторів, поділяючи файл на кілька менших файлів? Чи зберігаєте ви оригінальне ім’я автора, якщо повністю перепишете код? Чи додаєте ви своє ім’я до списку авторів, коли ви фіксуєте друк в коментарі?

Ці питання краще залишити для системи управління версіями.

Але я не зовсім проти списку авторів. Ведення списку авторів для всього проекту має ідеальний сенс. Якщо це однофайловий проект, то обов'язково зберігайте його в самому файлі. Якщо це більший проект, збережіть його у README або у вихідному файлі верхнього рівня (він же main.c). Але не повторюйте себе, перераховуючи авторів у кожному файлі.


1

Ми відстежуємо, використовуючи систему контролю версій або вводячи @authorкод. Інший спосіб зробити це - сказати більш загально, що певні люди були авторами для цілих модулів або для всієї програми. Це спонукає людей думати про себе як про частину команди, а не про гвинтик у машині, який відповідає за точно кількість X функцій чи рядків коду.


0

Я використовую коментарі в стилі Doxygen (або іноді KernelDoc) для майже всього. Я здебільшого працюю в C та PHP, де Doxygen досить популярний.

У більшості випадків корисно хоча б включити таку інформацію:

  • Дозвіл (або ні) його копіювання / Авторські права компанії чи фізичної особи
  • Ім'я автора / електронна пошта
  • Дата написання
  • Дата останнього змінення

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


0

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

Наприклад, використання в Delphi 7 із встановленими I корисними CNTools

///a [enter]

і виходить

//<author></author>

то я набираю

///d [enter]

і виходить

 //<date></date>

Я б міг уявити, що відповідає чомусь, на чому може підійти сторона, яка стосується сторонніх програм, але що стосується мене - у мене є стандарт, який мені навіть не довелося скласти і пошкодити.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.