auto README

The project's README from github.com/google/auto. As one markdown file: README.md.

Auto

Build Status

A collection of source code generators for Java.

Overview

Java is full of code that is mechanical, repetitive, typically untested and sometimes the source of subtle bugs. Sounds like a job for robots!

The Auto subprojects are a collection of code generators that automate those types of tasks. They create the code you would have written, but without the bugs.

Save time. Save code. Save sanity.

Subprojects

License

Copyright 2013 Google LLC

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

auto (google/auto)

Searching Database…

10.6K ·GitHub
Что это такое?Auto — это набор генераторов исходного кода для Java, которые автоматически создают механический, повторяющийся шаблонный код, который разработчики иначе писали бы вручную.
Это одна библиотека или набор отдельных инструментов?Это зонтичный набор, объединяющий четыре разных подпроекта-обработчика аннотаций: AutoFactory, AutoService, AutoValue и Common, каждый из которых решает свою задачу генерации кода.
Как начать пользоваться одним из этих генераторов?Вы добавляете нужный подпроект (AutoFactory, AutoService или AutoValue) как зависимость в сборку Java и помечаете свои классы аннотациями; затем обработчик аннотаций генерирует вспомогательный код во время компиляции.
Нужна ли для них определённая версия Java?AutoValue требует Java 8 или новее; остальные подпроекты работают со стандартной обработкой аннотаций Java во время компиляции, никакая дополнительная среда выполнения не нужна.
Нужно ли мне выбирать подходящий подпроект для своей задачи?Да, единого генератора «на все случаи» нет: AutoFactory, AutoService, AutoValue и Common каждый решает свою конкретную задачу, поэтому выбирайте тот, который подходит под то, что вы создаёте.
Что именно генерирует AutoValue?AutoValue генерирует шаблонный код для неизменяемых классов-значений в Java 8+, например конструкторы, equals, hashCode и toString, по простому абстрактному классу, который вы пишете.
Для чего нужен AutoFactory?AutoFactory генерирует фабричные классы, совместимые с JSR-330, избавляя от необходимости вручную писать шаблонный код фабрик для объектов с внедрением зависимостей.
Какую проблему решает AutoService?AutoService генерирует файлы конфигурации провайдеров, которые нужны механизму ServiceLoader в Java, так что вам не придётся поддерживать их вручную.
Зачем Google создал это, вместо того чтобы писать код вручную?Повторяющийся шаблонный код на Java механический, часто не покрыт тестами и нередко становится источником неочевидных ошибок, поэтому генераторы Auto создают этот код автоматически и корректно.
Creator
google
Size
53 MB
Stars
10.6K
Age
13y
Commits · 90 Days