Атипичный Генератор Документации
-
Upload
pavel-sharanda -
Category
Software
-
view
161 -
download
0
Transcript of Атипичный Генератор Документации
![Page 1: Атипичный Генератор Документации](https://reader031.fdocuments.net/reader031/viewer/2022022413/58a467b31a28abb8288b652f/html5/thumbnails/1.jpg)
АТИПИЧНЫЙ ГЕНЕРАТОР ДОКУМЕНТАЦИИ
ПАВЕЛ ШАРАНДА
![Page 2: Атипичный Генератор Документации](https://reader031.fdocuments.net/reader031/viewer/2022022413/58a467b31a28abb8288b652f/html5/thumbnails/2.jpg)
ОК.. А ЧТО СЧИТАТЬ "ТИПИЧНЫМ" ГЕНЕРАТОРОМ ДОКУМЕНТАЦИИ
![Page 3: Атипичный Генератор Документации](https://reader031.fdocuments.net/reader031/viewer/2022022413/58a467b31a28abb8288b652f/html5/thumbnails/3.jpg)
APPLEDOC
OBJECTIVE C
![Page 4: Атипичный Генератор Документации](https://reader031.fdocuments.net/reader031/viewer/2022022413/58a467b31a28abb8288b652f/html5/thumbnails/4.jpg)
![Page 5: Атипичный Генератор Документации](https://reader031.fdocuments.net/reader031/viewer/2022022413/58a467b31a28abb8288b652f/html5/thumbnails/5.jpg)
JAZZY
SWIFT
![Page 6: Атипичный Генератор Документации](https://reader031.fdocuments.net/reader031/viewer/2022022413/58a467b31a28abb8288b652f/html5/thumbnails/6.jpg)
![Page 7: Атипичный Генератор Документации](https://reader031.fdocuments.net/reader031/viewer/2022022413/58a467b31a28abb8288b652f/html5/thumbnails/7.jpg)
А ЧТО ЕСЛИ МЫ ХОТИМ БОЛЬШЕГО?
Иннокентий, iOS Developer
RE: RE: RE: PROJECT DOCUMENTATION. URGENT!!!
![Page 8: Атипичный Генератор Документации](https://reader031.fdocuments.net/reader031/viewer/2022022413/58a467b31a28abb8288b652f/html5/thumbnails/8.jpg)
ЧТОБЫ ТАКОЙ КОД
![Page 9: Атипичный Генератор Документации](https://reader031.fdocuments.net/reader031/viewer/2022022413/58a467b31a28abb8288b652f/html5/thumbnails/9.jpg)
ТАКАЯ МОДЕЛЬ
![Page 10: Атипичный Генератор Документации](https://reader031.fdocuments.net/reader031/viewer/2022022413/58a467b31a28abb8288b652f/html5/thumbnails/10.jpg)
В ТАКОМ UI
![Page 11: Атипичный Генератор Документации](https://reader031.fdocuments.net/reader031/viewer/2022022413/58a467b31a28abb8288b652f/html5/thumbnails/11.jpg)
ПРЕВРАЩАЛИСЬ В ТАКОЙ ДОКУМЕНТ
![Page 12: Атипичный Генератор Документации](https://reader031.fdocuments.net/reader031/viewer/2022022413/58a467b31a28abb8288b652f/html5/thumbnails/12.jpg)
ГЕНЕРАЦИЯ ДОКУМЕНТАЦИИ САМОЙ ПРОГРАММОЙ
"АТИПИЧНЫЙ" ПОДХОД
![Page 13: Атипичный Генератор Документации](https://reader031.fdocuments.net/reader031/viewer/2022022413/58a467b31a28abb8288b652f/html5/thumbnails/13.jpg)
WE NEED INSTRUMENTS*
INSTRUMENTS
*for Swift
![Page 14: Атипичный Генератор Документации](https://reader031.fdocuments.net/reader031/viewer/2022022413/58a467b31a28abb8288b652f/html5/thumbnails/14.jpg)
SOURCEKITTENSWIFT CODE PARSER
![Page 15: Атипичный Генератор Документации](https://reader031.fdocuments.net/reader031/viewer/2022022413/58a467b31a28abb8288b652f/html5/thumbnails/15.jpg)
SOURCEKITTEN
ЧТО МОЖНО ПОЛУЧИТЬ C ПОМОЩЬЮ SOURCEKITTEN
▸ список членов класса (свойства, методы) и их тип
▸ строка документации для класса, свойства или метода!
▸ родительские объекты, в том числе протоколы
▸ и много чего другого
![Page 16: Атипичный Генератор Документации](https://reader031.fdocuments.net/reader031/viewer/2022022413/58a467b31a28abb8288b652f/html5/thumbnails/16.jpg)
$ sourcekitten doc --single-file CellModel.swift -- -j4 CellModel.swift
![Page 17: Атипичный Генератор Документации](https://reader031.fdocuments.net/reader031/viewer/2022022413/58a467b31a28abb8288b652f/html5/thumbnails/17.jpg)
ТИПИЧНЫЙ OUTPUT SOURCEKITTEN
![Page 18: Атипичный Генератор Документации](https://reader031.fdocuments.net/reader031/viewer/2022022413/58a467b31a28abb8288b652f/html5/thumbnails/18.jpg)
УБИРАЕМ НЕНУЖНОЕ
![Page 19: Атипичный Генератор Документации](https://reader031.fdocuments.net/reader031/viewer/2022022413/58a467b31a28abb8288b652f/html5/thumbnails/19.jpg)
MIRRORSWIFT REFLECTION
![Page 20: Атипичный Генератор Документации](https://reader031.fdocuments.net/reader031/viewer/2022022413/58a467b31a28abb8288b652f/html5/thumbnails/20.jpg)
MIRROR
ЧТО МОЖНО ПОЛУЧИТЬ С ПОМОЩЬЮ MIRROR
▸ имя список членов класса (свойства, методы) и их тип
▸ значение каждого из членов (для default)! + тип
▸ родительский класс
![Page 21: Атипичный Генератор Документации](https://reader031.fdocuments.net/reader031/viewer/2022022413/58a467b31a28abb8288b652f/html5/thumbnails/21.jpg)
MIRROR IN ACTION
![Page 22: Атипичный Генератор Документации](https://reader031.fdocuments.net/reader031/viewer/2022022413/58a467b31a28abb8288b652f/html5/thumbnails/22.jpg)
FACTORYJSON OBJECT -> SWIFT CLASS
БОНУС
![Page 23: Атипичный Генератор Документации](https://reader031.fdocuments.net/reader031/viewer/2022022413/58a467b31a28abb8288b652f/html5/thumbnails/23.jpg)
ПАТТЕРН ФАБРИКА НА SWIFT
![Page 24: Атипичный Генератор Документации](https://reader031.fdocuments.net/reader031/viewer/2022022413/58a467b31a28abb8288b652f/html5/thumbnails/24.jpg)
НАСТРАИВАЕМ ФАБРИКУ КРАСИВО. СООТВЕТСТВИЕ JSON ТИПА И SWIFT КЛАССА ТЕПЕРЬ УСТАНОВЛЕНО
![Page 25: Атипичный Генератор Документации](https://reader031.fdocuments.net/reader031/viewer/2022022413/58a467b31a28abb8288b652f/html5/thumbnails/25.jpg)
SNIPPETS GENERATOR
JSON SAMPLES + SNAPSHOTS
![Page 26: Атипичный Генератор Документации](https://reader031.fdocuments.net/reader031/viewer/2022022413/58a467b31a28abb8288b652f/html5/thumbnails/26.jpg)
SNIPPETS GENERATOR
АЛГОРИТМ ГЕНЕРАЦИИ СНИППЕТОВ
▸ загружаем тестовый json
▸ по одному показываем view
▸ рендерим view в картинку drawViewHierarchyInRect
▸ ассоцируем картинку и json код
▸ передаем всю структуру дальше
![Page 27: Атипичный Генератор Документации](https://reader031.fdocuments.net/reader031/viewer/2022022413/58a467b31a28abb8288b652f/html5/thumbnails/27.jpg)
ВСЁ ГОТОВО. ГЕНЕРИРУЕМ
ДОКУМЕНТАЦИЮ!
![Page 28: Атипичный Генератор Документации](https://reader031.fdocuments.net/reader031/viewer/2022022413/58a467b31a28abb8288b652f/html5/thumbnails/28.jpg)
GRMUSTACHE.SWIFTHTML RENDERING
![Page 29: Атипичный Генератор Документации](https://reader031.fdocuments.net/reader031/viewer/2022022413/58a467b31a28abb8288b652f/html5/thumbnails/29.jpg)
ШАБЛОН ДЛЯ GRMUSTACHE
![Page 30: Атипичный Генератор Документации](https://reader031.fdocuments.net/reader031/viewer/2022022413/58a467b31a28abb8288b652f/html5/thumbnails/30.jpg)
ШАБЛОН ДЛЯ GRMUSTACHE 2
![Page 31: Атипичный Генератор Документации](https://reader031.fdocuments.net/reader031/viewer/2022022413/58a467b31a28abb8288b652f/html5/thumbnails/31.jpg)
DEMO TIME
![Page 32: Атипичный Генератор Документации](https://reader031.fdocuments.net/reader031/viewer/2022022413/58a467b31a28abb8288b652f/html5/thumbnails/32.jpg)
$ git clone https://github.com/psharanda/adocgen
![Page 33: Атипичный Генератор Документации](https://reader031.fdocuments.net/reader031/viewer/2022022413/58a467b31a28abb8288b652f/html5/thumbnails/33.jpg)
$ brew install sourcekitten
![Page 34: Атипичный Генератор Документации](https://reader031.fdocuments.net/reader031/viewer/2022022413/58a467b31a28abb8288b652f/html5/thumbnails/34.jpg)
$ carthage update
![Page 35: Атипичный Генератор Документации](https://reader031.fdocuments.net/reader031/viewer/2022022413/58a467b31a28abb8288b652f/html5/thumbnails/35.jpg)
open & build & run project в симуляторе
![Page 36: Атипичный Генератор Документации](https://reader031.fdocuments.net/reader031/viewer/2022022413/58a467b31a28abb8288b652f/html5/thumbnails/36.jpg)
копируем путь из консоли
![Page 37: Атипичный Генератор Документации](https://reader031.fdocuments.net/reader031/viewer/2022022413/58a467b31a28abb8288b652f/html5/thumbnails/37.jpg)
Finder -> Go -> Go to folder и вставить скопированный путь
![Page 38: Атипичный Генератор Документации](https://reader031.fdocuments.net/reader031/viewer/2022022413/58a467b31a28abb8288b652f/html5/thumbnails/38.jpg)
открываем index.html
![Page 39: Атипичный Генератор Документации](https://reader031.fdocuments.net/reader031/viewer/2022022413/58a467b31a28abb8288b652f/html5/thumbnails/39.jpg)
![Page 40: Атипичный Генератор Документации](https://reader031.fdocuments.net/reader031/viewer/2022022413/58a467b31a28abb8288b652f/html5/thumbnails/40.jpg)
![Page 41: Атипичный Генератор Документации](https://reader031.fdocuments.net/reader031/viewer/2022022413/58a467b31a28abb8288b652f/html5/thumbnails/41.jpg)
![Page 42: Атипичный Генератор Документации](https://reader031.fdocuments.net/reader031/viewer/2022022413/58a467b31a28abb8288b652f/html5/thumbnails/42.jpg)
ВОПРОСЫ? ВОПРОСЫ? ВОПРОСЫ?