Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
KDoc
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
scache
September 18, 2017
Technology
940
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
KDoc
Kotlinコードにドキュメントを書くためのKDocで使えるタグや記法について紹介
scache
September 18, 2017
More Decks by scache
See All by scache
ExoPlayerのトラック選択と再生中の解像度制限
sckm
0
230
Hyperion Item Nameplate
sckm
0
170
[紹介]Writing Your First Kotlin Compiler Plugin by Kevin Most
sckm
0
380
ChangeLogを読もう(1.2.70編)
sckm
1
420
3分でわかるSequence
sckm
1
740
Property + Getter
sckm
0
1.6k
略解reified
sckm
0
160
Other Decks in Technology
See All in Technology
公共システムAdventCalendar2026
toru_kubota
0
290
PostgreSQL オプティマイザ統計の秘密
nori_shinoda
1
450
Claude Codeで作ったアプリを安全に公開する/Built with Claude Japan 2026
yoshidashingo
0
220
新米を「売り越さない」、Aurora DSQLで作る在庫ゼロ死守の限定ドロップEC
yama3133
0
200
公共分野での生成AI活用
toru_kubota
1
310
会社説明資料_最新版
demaecan
0
32k
並列度を下げたら速くなった — go build の重複コンパイルを実測で見る
tomoaki25
2
1k
「AIチャットからもできないの?」と言われたら ~業務アプリをMCP対応するときの認証・認可の勘所
oidfj
0
280
Gifu WordPress Meetup #200 に向けて、私たちには何ができるだろうか?/ 2026-11-07 Gifu WordPress Meetup
torounit
0
250
「いつか使う」の「いつか」は来ない 〜AI駆動開発における「作らない」判断について〜
ikki0006
0
180
長い仕事を任せる (Workflows、クラウドセッション、Kiro Web) | 目指せ Kiro マスター 10
inariku
PRO
3
160
レガシーコードに対する loop engineering的なAI開発プロセス導入について
kubell_hr
0
310
Featured
See All Featured
AI Search: Where Are We & What Can We Do About It?
aleyda
0
8.2k
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
1
560
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.9k
Statistics for Hackers
jakevdp
799
230k
Practical Orchestrator
shlominoach
192
12k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.4k
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
1.1k
Fantastic passwords and where to find them - at NoRuKo
philnash
53
4k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
Are puppies a ranking factor?
jonoalderson
2
4.2k
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
470
Transcript
KDoc Ryo Sotoyama( @scal_ch )
About Me • ֎ࢁ ໆ (Ryo Sotoyama) • Twitter: @scal_ch
• AndroidΞϓϦ࡞ͬͯ·͢
KDoc • KotlinͷυΩϡϝϯτهड़༻ݴޠ • Javadocͱॻ͖ํࣅ͍ͯΔ
Summary, Detailed Description fun doc() {}
Summary, Detailed Description /** * ࠷ॳͷߦʹ֓ཁΛॻ͘ */ fun doc() {}
Summary, Detailed Description /** * ࠷ॳʹ֓ཁΛॻ͘ * * վߦͨ͠ޙʹৄࡉΛॻ͘ */
fun doc() {}
Link /** * ΫϥεͷϦϯΫ [android.app.Activity] */ fun doc() {}
Link import android.app.Activity /** * ActivityͷϦϯΫ [Activity] */ fun doc()
{}
Link import android.app.Activity /** * [ActivityͷϦϯΫ][Activity] */ fun doc() {}
Link import android.app.Activity /** * [ؔͷϦϯΫ][Activity.onCreate] */ fun doc() {}
Link /** * [github](https://github.com/sckm) */ fun doc() {}
Block Tags
Function fun doc() { ... }
Function /** * @param arg argʹ͍ͭͯ */ fun doc(arg: String)
{ ... }
Function /** * @param[arg] argʹ͍ͭͯ */ fun doc(arg: String) {
... }
Function /** * @param arg argʹ͍ͭͯ * @return Γʹ͍ͭͯ */
fun doc(arg: String): Int { ... }
Function /** * @param arg argʹ͍ͭͯ * @return Γʹ͍ͭͯ *
@receiver Ϩγʔόʹ͍ͭͯ */ fun String.doc(arg: String): Int { ... }
Function /** * @param T ܕύϥϝʔλT * @param arg argʹ͍ͭͯ
* @return Γʹ͍ͭͯ * @receiver Ϩγʔόʹ͍ͭͯ */ fun <T> T.doc(arg: String): Int { ... }
Function /** * @param T ܕύϥϝʔλT * @param arg argʹ͍ͭͯ
* @return Γʹ͍ͭͯ * @receiver Ϩγʔόʹ͍ͭͯ * @throws IllegalArgumentException ྫ֎ * @exception IllegalArgumentException ྫ֎ */ fun <T> T.doc(arg: String): Int { ... }
Function /** * @param T ܕύϥϝʔλT * @param arg argʹ͍ͭͯ
* @return Γʹ͍ͭͯ * @receiver Ϩγʔόʹ͍ͭͯ * @throws IllegalArgumentException ྫ֎ * @exception IllegalArgumentException ྫ֎ */ fun <T> T.doc(arg: String): Int { ... }
Class class Doc
Class /** * @constructor ϓϥΠϚϦίϯετϥΫ */ class Doc(val p: String)
Class /** * @constructor ϓϥΠϚϦίϯετϥΫ * @property p ϓϩύςΟp */
class Doc(val p: String)
Sample fun usage() { val s = "str" doc(s) }
/** * @sample usage */ fun doc(arg: String): Int { ... }
Sample fun usage() { val s = "str" doc(s) }
/** * @sample usage */ fun doc(arg: String): Int { ... }
Tags /** * @see android.app.Activity * @author scache * @since
1.0 * @suppress */ class BlockTags
Tags /** * @see android.app.Activity * @author scache * @since
1.0 * @suppress */ class BlockTags
Tags /** * @see android.app.Activity * @author scache * @since
1.0 * @suppress */ class BlockTags
Tags /** * @see android.app.Activity * @author scache * @since
1.0 * @suppress */ class BlockTags
• Javadocͱॻ͖ํ΄ͱΜͲಉ͡ • DokkaΛ͏ͱhtmlʹग़ྗՄೳ