В документации кода я вижу некоторые вещи, как это:смысл @ (#) символов
/*
* @(#)File.java 1.142 09/04/01
, что делает символы, такие как @ (#) значение?
В документации кода я вижу некоторые вещи, как это:смысл @ (#) символов
/*
* @(#)File.java 1.142 09/04/01
, что делает символы, такие как @ (#) значение?
@(#)
- это символьная строка, используемая командой Unix what
для фильтрации строк из двоичных файлов, чтобы отобразить компоненты, которые использовались для сборки этого двоичного файла. Например what java
на AIX выходов:
java:
23 1.4 src/bos/usr/ccs/lib/libpthreads/init.c, libpth, bos520 8/19/99 12:20:14
61 1.14 src/bos/usr/ccs/lib/libc/__threads_init.c, libcthrd, bos520 7/11/00 12:04:14
src/tools/sov/java.c, tool, asdev, 20081128 1.83.1.36
src/misc/sov/copyrght.c, core, asdev, 20081128 1.8
а `строк Java | @ (#) 'ГРЭП выходы:
@(#)23 1.4 src/bos/usr/ccs/lib/libpthreads/init.c, libpth, bos520 8/19/99 12:20:14
@(#)61 1.14 src/bos/usr/ccs/lib/libc/__threads_init.c, libcthrd, bos520 7/11/00 12:04:14
@(#)src/tools/sov/java.c, tool, asdev, 20081128 1.83.1.36
@(#)src/misc/sov/copyrght.c, core, asdev, 20081128 1.8
@(#)
был выбран в качестве маркеров, потому что не будет происходить в другом месте, исходный код управление системой обычно добавить строку, содержащую этот маркер и описание версии файла на синхронизации, расширение ключевые слова со значениями, отражающими содержимое файла. Например, список комментариев будет результатом расширения ключевых слов SCCS %Z% %M% %R%.%L% %E%
, где %Z%
переводит @(#)
.
Обычно это система, которая автоматически добавляется системой контроля версий.
Эта конструкция не имеет особого значения в Java. Это просто текст в комментарии.
Похоже на то, что вставляется системой контроля версий.
Из (туманной) памяти, которая была тегом, используемым SCCS еще в «старые добрые времена». Учитывая, что (насколько мне известно), BitKeeper использует SCCS под ним, это может быть BitKeeper.