Я работаю над небольшой библиотекой, которая обеспечивает реализацию основных, хорошо известных строковых метрик. Главным образом для моего собственного образования. Так что развитие происходит всякий раз, когда у меня есть немного свободного времени.
Из-за этого я автоматизировал большинство процессов, поэтому могу выпускать версию так же часто, как и над ней, без особых усилий. Однако поддержка документа Java все еще является бременем, поскольку включает примеры.
По мере развития API мне приходится проверять каждый пример снова и снова. Есть лучший способ сделать это?
Я подумал о том, чтобы перенести документацию и примеры в отдельный проект (например, в Caliper Tutorial ), чтобы его можно было повторно проанализировать и скомпилировать вместе с обычным кодом. Однако это отодвигает документацию от класса, о котором идет речь.
Так что да. Я хотел бы иметь свой торт и есть его тоже. : D
* <h2>Tokenization</h2>
*
* Tokenization cuts up a string into tokens e.g.
* <code>chilperic ii son of childeric ii</code> is tokenized into
* <code>[chilperic, ii, son, of,
* childeric, ii]</code>. Tokenization can also be done repeatedly by tokenizing
* the individual tokens e.g.
* <code>[ch,hi,il,il,lp,pe,er,ri,ic, ii, so,on, of, ch,hi,il,ld,de,er,ri,ic, ii]</code>
* <p>
*
* <pre>
* <code>
* {@code
* return new StringMetricBuilder()
* .with(new SimonWhite<String>())
* .tokenize(new Whitespace())
* .tokenize(new QGram(2))
* .build();
* }
* </code>
* </pre>
*
* <p>
Если выше это слишком абстрактно. Это образец документации. В настоящее время я добавляю статические конструкторы в соответствии с рекомендациями Effective Java, например, Tokenizers.createQGram(2)
при устаревании метода конструктора. Каждый раз, когда я делаю что-то подобное, мне приходится обновлять приведенный выше пример кода и проверять, работает ли он по-прежнему.