«Разработчики за пределами Facebook могут использовать его для повышения уровня абстракций в своем коде и построения более мощных инструментальных сред», — пояснил Алехандро Марку (Alejandro Marcu), программный инженер Facebook.
Codegen работает с напоминающим PHP языком программирования Hack, который Facebook создала для ускорения работ над своим веб-сайтом, а впоследствии выпустила с открытым кодом для всех желающих.
Прежде, инженерам Facebook заменяла Codegen подборка скриптов и шаблонов для генерирования кода, выполняющего простые, но часто повторяющиеся функции, такие как извлечение сведений о дне рождения пользователя. Такой подход не позволял им задавать типы данных для переменных и требовал создавать вручную слишком много дополнительных компонентов, таких как тестовые программы или загрузчики данных.
Библиотека Codegen может генерировать классы, методы, переменные, функции, интерфейсы, файлы и другие блоки кода. Она также позволяет выявлять позднейшие вставки в автоматически созданный код и предостерегает от их стирания в процессе последующих обновлений.