Атипичный Генератор Документации

Post on 13-Apr-2017

161 views 0 download

Transcript of Атипичный Генератор Документации

АТИПИЧНЫЙ ГЕНЕРАТОР ДОКУМЕНТАЦИИ

ПАВЕЛ ШАРАНДА

ОК.. А ЧТО СЧИТАТЬ "ТИПИЧНЫМ" ГЕНЕРАТОРОМ ДОКУМЕНТАЦИИ

APPLEDOC

OBJECTIVE C

JAZZY

SWIFT

А ЧТО ЕСЛИ МЫ ХОТИМ БОЛЬШЕГО?

Иннокентий, iOS Developer

RE: RE: RE: PROJECT DOCUMENTATION. URGENT!!!

ЧТОБЫ ТАКОЙ КОД

ТАКАЯ МОДЕЛЬ

В ТАКОМ UI

ПРЕВРАЩАЛИСЬ В ТАКОЙ ДОКУМЕНТ

ГЕНЕРАЦИЯ ДОКУМЕНТАЦИИ САМОЙ ПРОГРАММОЙ

"АТИПИЧНЫЙ" ПОДХОД

WE NEED INSTRUMENTS*

INSTRUMENTS

*for Swift

SOURCEKITTENSWIFT CODE PARSER

SOURCEKITTEN

ЧТО МОЖНО ПОЛУЧИТЬ C ПОМОЩЬЮ SOURCEKITTEN

▸ список членов класса (свойства, методы) и их тип

▸ строка документации для класса, свойства или метода!

▸ родительские объекты, в том числе протоколы

▸ и много чего другого

$ sourcekitten doc --single-file CellModel.swift -- -j4 CellModel.swift

ТИПИЧНЫЙ OUTPUT SOURCEKITTEN

УБИРАЕМ НЕНУЖНОЕ

MIRRORSWIFT REFLECTION

MIRROR

ЧТО МОЖНО ПОЛУЧИТЬ С ПОМОЩЬЮ MIRROR

▸ имя список членов класса (свойства, методы) и их тип

▸ значение каждого из членов (для default)! + тип

▸ родительский класс

MIRROR IN ACTION

FACTORYJSON OBJECT -> SWIFT CLASS

БОНУС

ПАТТЕРН ФАБРИКА НА SWIFT

НАСТРАИВАЕМ ФАБРИКУ КРАСИВО. СООТВЕТСТВИЕ JSON ТИПА И SWIFT КЛАССА ТЕПЕРЬ УСТАНОВЛЕНО

SNIPPETS GENERATOR

JSON SAMPLES + SNAPSHOTS

SNIPPETS GENERATOR

АЛГОРИТМ ГЕНЕРАЦИИ СНИППЕТОВ

▸ загружаем тестовый json

▸ по одному показываем view

▸ рендерим view в картинку drawViewHierarchyInRect

▸ ассоцируем картинку и json код

▸ передаем всю структуру дальше

ВСЁ ГОТОВО. ГЕНЕРИРУЕМ

ДОКУМЕНТАЦИЮ!

GRMUSTACHE.SWIFTHTML RENDERING

ШАБЛОН ДЛЯ GRMUSTACHE

ШАБЛОН ДЛЯ GRMUSTACHE 2

DEMO TIME

$ git clone https://github.com/psharanda/adocgen

$ brew install sourcekitten

$ carthage update

open & build & run project в симуляторе

копируем путь из консоли

Finder -> Go -> Go to folder и вставить скопированный путь

открываем index.html

ВОПРОСЫ? ВОПРОСЫ? ВОПРОСЫ?