stanford-oval/wikipedia huggingface dataset:
岸尾だいすけ
出演 > 朗読劇

『朗読劇 私の頭の中の消しゴム 5th letter』（2013年6月11日・14日、天王洲 銀河劇場） - 浩介役
声のプロフェッショナルが奏でるリーディングシェイクスピア『マクベス』（2020年12月2日・3日、池袋サンシャイン劇場） - バンクォー 役他
朗読劇「武士とジェントルマン」(2023年2月1日・2日、池袋サンシャイン劇場） - アンソニー 役
朗読劇『ドリアン・グレイの肖像』
朗読劇「Nのために」（2023年10月14日、山野ホール） - 野口貴弘 役
朗読劇「若きウェルテルの悩み」（2024年5月4日、TOKYO FM HALL）
朗読劇「ニュー・ルネッサンス・イン・パリ」（2024年7月28日、博品館劇場）
SF空想科学朗読劇「宇宙戦争」(2025年1月11日、I'M A SHOW）
音楽朗読劇「仮面の男」〜アレクサンドル・デュマ・ペール「ダルタルニャン物語」より〜（2025年3月8日、博品館劇場） - アトス 役 他
朗読劇「タチヨミ-最終巻-」（2025年6月11日 - 15日、本多劇場）
出演 > ラジオ

※はインターネット配信。
ラジオのステルヴィア（2003年 - 2004年、文化放送・ラジオ関西・東海ラジオ）
テニスの王子様 オン・ザ・レイディオ（2005年ほか、文化放送、マンスリーパーソナリティ）
嗚呼、クラスター学園!（2005年 - 2006年、BEAT☆Net Radio!※）
今夜はボクがソウルメイト!（2006年、WEBラジオ※）
俳協 Party Radio（2006年、BEAT☆Net Radio!※）
こちら胸キュン乙女（2007年 - 2008年、アニメイトTV※）
シュガービーンズ放送局（2007年 - 2008年、シュガービーンズWEBラジオ※）
純情トライアングル〜いざ、純情に勝負!!〜（2008年、アニメイトTV※）
どうぞご歓談ください。おい!寺尾（2008年 - 2009年、ニコニコアニメチャンネル※）
ヴァンパイア騎士 黒主学園放送部（2008年、音泉※）
ぽにきゅんラジオ（2009年、ポニーキャニオンWEBラジオ※）
VitaminX RadioFiction（2011年 - 2013年、音泉※）
岸尾だいすけのほぼアドリブっす!（2011年 - 2012年、バナフェス!ラジオ※）
乙女のための最強ラジオ B's-LOGフェア Folloωくん通信（2011年 - 2012年、アニメイトTV※）
WEB限定 お咎めラジオ「とがラジ」（2012年、Webラジオ※）
ZZ:CC presents 岸尾だいすけラジヲ “22時からはご宿泊になります!”（2013年、Ustream※）
VitaminR Radio Session（2013年 - 2014年、音泉※）
だいすけ乙女チャンネル（2014年 - 2015年、funラジオ※）
神様はじめました◎〜ミカゲ社通信・鞍馬山出張版〜（2015年、HiBiKi Radio Station※・音泉※）
新テニスの王子様 オン・ザ・レイディオ（2017年ほか、文化放送、マンスリーパーソナリティ）
RADIO MIRACLE6（2018年、アニメイトタイムズ※）
出演 > CD > 朗読・シチュエーションCD

朗読・シチュエーションCD出演作品
憧れのデートCDシリーズ vol.1 ツンデレ俺様と魅惑の海外旅行プランニング
あなたがお風呂でのぼせるCD 〜温泉擬人化コレクション・シーズン2シリーズ（奥飛騨）
あなたがお風呂でのぼせるCD 〜温泉擬人化コレクション・シーズン2〜 第6弾「奥飛騨編」
お仕事男子 vol.1 職業 サラリーマン（嘉納達哉）
お仕事男子 vol.2 職業 医者（嘉納達哉）
オ・ト・ナ限定 看病CD Kartel 1（年下キャラ）
葛藤CD 〜天使と悪魔のささやき合戦〜 第一巻・日常編
官能昔話5 〜ギリシャ神話〜
月刊男前図鑑 シリーズ
月刊男前図鑑 メガネ編 黒盤（鬼畜系メガネ）
月刊男前図鑑 王子様編 白盤（ブロンド王子様）
月刊男前図鑑 シリーズ特別編 月刊光源氏図鑑 ＜紅椿盤＞「夕顔」編（光源氏）
月刊男前図鑑 シリーズ特別編 月刊幕末図鑑 弐 蒼（徳川家茂）
心あたたまる物語 シリーズ
心あたたまる物語 Vol.3（〜ペット編〜「彼はサーカスにいた」）
心あたたまる物語外伝 その2（「マロン」）
心あたたまる物語外伝 SP 限定オマケディスク 〜二十四の台詞集〜（「飼育係・村野」）
Starry☆Sky シリーズ（陽日直獅）
星座彼氏シリーズ Vol.8 Starry☆Sky 〜Leo〜
星座旦那シリーズ Vol.4 Starry☆Sky 〜Cancer&Leo〜
PLAYBUTTON 星座彼氏シリーズ Starry☆Sky 〜Leo〜
Story of 365 days ＜chapter.HEART＞（ハートのキング）
添い寝羊CD 03（サークルの先輩で頼れる彼 拓哉）
蜜蜂出版シリーズ 旦那カタログVol.2 今月の特集：甘えん坊旦那様orツンデレ旦那様（ツンデレ旦那・日生雅）
DEARS シリーズ
でぃあーず せかいのものがたり 〜青の本〜（朗読 - 第八話「アリババと四十人の盗賊」）
でぃあーず せかいのものがたり 〜夢の本〜（朗読 - 第十五話「島へ」）
戦国武将物語 〜大名編その壱〜（朗読 - 第二話「織田信長物語」）
戦国武将物語外伝 〜14の大名物語〜（朗読 - 織田信長物語外伝「人間五十年」）
88星座物語 〜ペガススの章〜（第六章）
88星座物語 〜外伝〜 12の星の物語（「ふたご座とアルゴ座の物語」）
DIABOLIK LOVERS シリーズ（無神アズサ）
DIABOLIK LOVERS ドS吸血CD MORE,BLOOD Vol.4 アズサ編）
DIABOLIK LOVERS ドS吸血CD VERSUSII Vol.6 ユーマVSアズサ
DIABOLIK LOVERS DARK FATE Vol.3 下弦の章
DIABOLIK LOVERS ドS吸血CD BLOODY BOUQUET Vol.11 アズサ編
DIABOLIK LOVERS ドS吸血CD VERSUSIII Vol.6 カナトVSアズサ
DIABOLIK LOVERS LOST EDEN Vol.4 無神編
DIABOLIK LOVERS CHAOS LINEAGE Vol.2 VIOLET
DIABOLIK LOVERS Para-Selene Vol.8 無神アズサ CV.岸尾だいすけ
DIABOLIK LOVERS ドS吸血CD 無神家5th Eternal Blood Vol.4 無神アズサ CV.岸尾だいすけ
DIABOLIK LOVERS ドS吸血CD VERSUSⅣ Vol.4 レイジVSアズサ
DIABOLIK LOVERS ZERO Floor.12 無神アズサ CV.岸尾だいすけ
DIABOLIK LOVERS MORE, MORE BLOOD Vol.10 無神アズサ CV.岸尾だいすけ
DIABOLIK LOVERS DAYLIGHT Vol.10 無神アズサ CV.岸尾だいすけ
天部衆に癒されCD 〜四天王編〜（増長天）
Voice Colors Series 01. 〜情熱〜
幕末志士物語〜佐幕・開国編〜（「勝海舟物語」）
幕末志士物語外伝〜14の土佐&佐幕・開国編〜（「勝海舟物語外伝」）
HONEY BEE 羊でおやすみシリーズ Vol.5 「いっしょに寝てもいい?」
VitaminX × 羊でおやすみシリーズ Vol.3 「猫にゃんでおやすみ / 魔法の呪文でおやすみ」（風門寺悟郎）
VitaminZ × 羊でおやすみシリーズ Vol.4 「美容を考えておやすみ」（風門寺悟郎）
VitaminX-Z・キャンディビタミン4（風門寺悟郎）
ふしぎ工房症候群 オリジナル朗読CD EPISODE.7 「妹の遺言」
ブラザーアンドロイド -04.ケン-（ケン）
放課後colorful*step 〜Basketball club〜（佐鷺遙）
ラクリモサ -七つの罪- Vol.2 嫉妬の章（ノルド）
Reader Song 〜 Love Letter 1 - 4
LIP ON MY PRINCE VOL.6 トモエ 〜とろける光のKISS〜（成瀬巴）
MOTTO♥LIP ON MY PRINCE VOL.5 トモエ 〜うるわしい光のKISS〜（成瀬巴）
新撰組北翔伝 晨星落落 第二巻（野村利三郎）
出演 > CD > ラジオ・トークCD

ラジオ・トークCD出演作品
嗚呼、クラスター学園! シリーズ
嗚呼、クラスター学園!やっぱり強制補習
嗚呼、クラスター学園!いきなり授業参観
イベントの街、江東区からこんにちは「ぽにきゅんラジオ」「今、ここで暴露します」
神様はじめました 巴衛と瑞希のミカゲ社通信 ラジオCD
金色のコルダ〜放課後のエチュード〜 ラジオCD 第2楽章
テニスの王子様 シリーズ
テニスの王子様 オン・ザ・レイディオ CD-BOX2
テニスの王子様 オン・ザ・レイディオ MONTHLY 2005 SEPTEMBER
D.C. 〜ダ・カーポ〜 初音島放送局 Vol.2、3
DJCD 純情ロマンチカ Webラジオ 純情トライアングル 〜いざ、純情に勝負!!〜 1 - 3
DJCD Starry☆Sky 星月学園新聞部 第3巻
DJCD 07-GHOST the world vol.3
DJCD ラジオ☆ロデ Vol.2
ネオロマンス Paradise Cure! 1、3
ネオロマンス♥ライヴ HOT! 10 Count down Radio     on CD #03
VitaminX RadioFiction Vol.1 - 3
BL裏話 Vol.8
モモっとトーク シリーズ
モモッとトーク・スペシャルCD 1
モモッとトーク・フルフルCD
高橋広樹のモモっとトーークCD 岸尾だいすけ盤
(有)チェリーベル分室『日雇い フラグラ・アイランド!』 special.8 声優ガチンコ対談番組 "THE MARUHADAKA" 岸尾大輔 編
出演 > CD > BLCD

BLCD出演作品
愛人☆淫魔（藤丸）
愛とバクダン2 傷だらけの天使ども 番外編（下村耕太）
愛と欲望は学園でシリーズ（桜沢イオン）
秋山くん（柴大輔）
あやかし♡草紙（新宮幸之助）
主のおおせのままに（南条）
YELLOW（ユキヤ）
愛しき爪の綾なす濡れごと（忍）
いとしの猫っ毛（ハルキ（土屋春樹）
いとしの猫っ毛 2
WEST END V（チンピラ）
牛泥棒（田中徳馬）
美しいこと（福田健史）
ウワサの二人 「はじめてのお散歩」（鳴海）
Angel's Featherシリーズ（青木直人）
Angel's Feather ドラマCD Vol.3 「親友は恋人」
Angel's Feather ドラマCD Vol.4 「AF・バラエティーワールド」
エンジェルズ フェザー from OVA 1 - 3
王子さまLV1シリーズ（スパイ伊藤）
王子さまLV1
王子さまLV1 BL盤
王子さまLV1.5 Blue Disk（ばりヤンキー）
王子さまLV1.5 Green Disk
王朝ロマンセ シリーズ（千寿丸）
王朝春宵ロマンセ
王朝夏曙ロマンセ
おおいぬ荘の人々（八潮裕幸）
堕つればもろとも（珠玲）
オヤジがたんすに入るとき（次郎）
俺の兄貴に手を出すな（天野悠里）
only you，only（真木唯行）
快感ソーダ（滝原竜平）
カオルマニアック（カオル）
風花（椋木隆哉）
片翅蝶々（翡翠）
仮面侯爵に囚われて（天ヶ谷慧史）
からめ手で口説いて（戸川由貴）
彼は無慈悲な夜の帝王（御薗吹雪）
おさる★ばけーしょん
傷だらけの愛羅武勇（美郷雄二）
鬼絆（きずな） 〜KIZUNA〜 シリーズ
この陰りある哭のままに（宮本雷）
彼方なる陽を求めて（宮本雷、源頼光）
貴族 シリーズ
桔梗庵の花盗人と貴族（優）
華は貴族に手折られる（高塔葵）
気まぐれシェフの恋のレシピ（久保知己）
君のつく嘘と本当（久世）
教師も色々あるわけで シリーズ（藤田孝紀）
教師も色々あるわけで 1・2
最恐教師 〜教師も色々あるわけで〜
くびすじにkiss 〜香港夜曲〜（クロエ）
黒の騎士（クリステン）
恋はいつも嵐のように♥（長谷川瑞基）
恋はいつも嵐のように♥ +（プラス）
豪華客船 シリーズ（フランツ）
豪華客船で恋は始まる 3 - 7
豪華客船でときめきは始まる
傲慢な龍の帝王（三枝敦）
傲慢な龍のしもべ
ご主人様と犬 1・2（安斎守）
この世 異聞 シリーズ（山根昭雄）
この世 異聞 其ノ壱・其ノ弐
この世 異聞 〜狐の嫁入り〜
コルセーア シリーズ（レティ）
コルセーアI
コルセーアII
コルセーアIII 〜風の暗殺者・前編〜
コルセーアV 〜記憶の鼓動〜
コルセーアVI 〜月を抱く海1〜
コルセーアVII 〜月を抱く海2〜
コルセーアVIII 〜月を抱く海3〜
さあ恋におちたまえ シリーズ 1 - 5（坂下のぼる）
最果ての君へ（汐未陵）
鮫島くんと笹原くん（笹原）
小夜時雨の宿（飯島佳史）
私立翔瑛学園男子高等部 倉科先生の受難（坂本眞広）
灼熱の夜に抱かれて（志岐）
社長のおじかん。（鳥居弟A）
少年四景 「LOGOS」（縹） 「セルロイドパラダイス」（田島）
白鷺（しらさぎ） シリーズ（一ノ宮藍）
キスは大事にさりげなく
夢はきれいにしどけなく
恋は上手にあどけなく
真空融接 1・2（アレクシ）
純情 シリーズ（日野悠里）
純情はぁと解放区
純情ナイト激戦区
純情テロリスト（高槻忍）
仁義VS堅気2（司城琲音）
SWEET 〜彼の甘い甘い味〜（緒高優紫）
レッスン シリーズ（秋本真紘）
スウィート・レッスン
シークレット・レッスン
ラヴァーズ・レッスン
素顔の君をあいしてる（森光）
聖衣は獣に攫われる（張月笙）
生徒会長に忠告（近藤）
生徒会長と録音
第二ボタン下さい
センチメンタルガーデンラバー（シマ）
束縛のアリア（篠崎空斗）
その男、魔王!? 1・2（立川水穂）
その男、魔王!? FanDisc ＜魔王で萌え!?＞
堕つればもろとも（珠玲）
DARLING シリーズ 1・2（橋本理緒）
DARLING LOVE LOVE afternoon
DARLING 2 修学旅行 観光編
DARLING 3 ドキドキ1人暮らし編
ダブルミンツ（壱河光夫）
だまされたい（田村深里）
男子迷路（大山のぶや〈ドラ〉）
懲罰委員会 シリーズ（香椎柚実）
学園♥懲罰委員会
束縛♥懲罰委員会
ちんつぶ -CHINKO NO TSUBUYAKI-（正）
ツインズ シリーズ（北代和巳）
すきゃんだらす♥ツインズ
でんじゃらす♥ツインズ
もあでんじゃらす♥ツインズ
みすてりあす♥ツインズ
まぁべらす♥ツインズ
天使×密造（和久井凜）
電光石火BOYS（夏井古楼）
トラップ シリーズ（黒川彬）
愛欲トラップ
束縛トラップ
トラ兄さんとワンコさん（コドリ）
ナイト シリーズ（北代和巳）
ナイトはお熱いのがお好き
ナイトは激しいのがお好き
ナイトは妖しいのがお好き
ナイトはすっごく妖しいのがお好き
ねがったりかなったり（籾山）
ネクラートホリック（ブラム・ヴァン・ヘルシング）
白衣の悪魔に溺れちゃう?（泉谷正一）
白衣の悪魔に愛されちゃう?
伯爵はラブゲームがお好き（夏賀千裕）
花色バージンソイル（安斉リョウジ）
花嫁くん（竹牟礼）
蜜的男子スパイラル（芳原陽人）
遥山の恋（紫乃）
Punch↑ 2・3・4（大木キヨト）
陽だまりに吹く風（神奈木辰巳）
ヒ・ミ・ツの家庭教師（北井）
110番は甘い鼓動（小林由紀生）
媚薬な教師に愛の手を（近本桂）
ショパン シリーズ（イリア・ローズフィールド）
ピンクのショパン（田中大介）
仔猫のワルツ
スターライト・ショパン
チェリーナイト・ショパン
ビーチサイド・ショパン
スノーダンス・ショパン
FLESH&BLOOD シリーズ 1・5・7・10・12-13・15-17（森崎和哉）
舞踏会の手帖 〜Un Carnet de Bal〜（清源院真弘）
プライド（小泉来）
プライム・タイム（柏木慎）
ペット・お仕事中（戸村孝一）
ほしがりません!勝つまでは（天野佳澄）
ホストなあいつ（水無月律）
本気じゃねぇから（杉ノ井浩人）
まほデミー週番日誌 魔法学園♥禁断ポエム（フランツ）
真夜中にお会いしましょう（海童寺藍）
昔、男ありけり…。（菅原時葉）
胸さわぎシリーズ（立花朋巳）
胸さわぎのアイドル
胸さわぎのプロムナード
眼鏡cafe 〜GLASS〜 1・2（恩田）
桃色御伽草紙 〜MOMOCAN III〜（桃太）
野球天国（宇野英司）
やさしく殺して、僕の心を。（神崎菜央）
おまえは、愛を食う獣。
唯我独尊な男（ニール・ライアン）
唯我独尊な男 Extra
遊覧船（東西日和）
花 シリーズ
夜ごとの花（藤井吹雪）
花のように愛は降る
花降楼 シリーズ（忍）
夜の帳 儚き柔肌
婀娜めく華、手折られる罪
華園を遠く離れて 〜弄花〜
愛しき爪の綾なす濡れごと
ラブプランダラー（茅野章）
レシピ（洸）
恋愛操作 3・4（一ノ瀬恵）
恋愛のセオリー（広瀬千洋）
ロマンスは白衣のままで（多田実ノ里）
ロマンティックな恋愛契約（速川陽汰）
ドラマティックな恋愛契約
わがままキッチン（熊木）
我らの水はどこにある（千野真治）
wonderful days?（里一）
出演 > PCソフト

CBC，Rush Out II !! 〜Viva La Fiesta〜 LIVE CD ダイジェスト版
出演 > オーディオドラマ

岸尾だいすけ×3分朗読『異世界での天職は寮母さんでした 〜王太子と楽しむまったりライフ〜』（皇帝 / 2019年）
燈の守り人～幻想夜話～（樫野埼灯台 / 2020年）
出演 > ナレーション・CM

ゾイド -ZOIDS- 邪神復活!〜ジェノブレイカー編〜（バン・フライハイト：2000年）
人妻温泉（ナレーション：2001年 - 2002年）
なまあらし LIVESTORM（ナレーション：2002年 - 2004年）
シブスタ袋とじ（ナレーション：2004年 - 2005年）
やりにげコージー（ナレーション：2004年 - 2005年）
美少女研究所（ナレーション：2005年 - 2006年）
萌えの時代 前編・後編（ナレーション：2006年）
「みんなのテニス」（TVCM：2006年）
「金色のコルダ〜primo passo〜」（TVCM：2006年 - 2007年）
「月刊Asuka」（TVCM：2008年3月号）
「ヴァンパイア騎士」（TVCM：2008年）
「ヴァンパイア騎士 Guilty」（TVCM：2008年）
サンヨー食品「ポケモンヌードル」（TVCM：2008年）
Eネ!内「釣りキチ三平」（ナレーション：2009年）
Xbox 360（TVCM：2009年）
Xbox 360「スターオーシャン4 -THE LAST HOPE-」（TVCM：2009年）
萌えの時代 〜ニッポンを救う心のビジネス〜（ナレーション：2009年）
はっけん たいけん だいすき! しまじろう「でんしゃくんのいちにち」（でんしゃくんの声（ナレーション：2009年）
PlayStation 3「スターオーシャン4 -THE LAST HOPE- INTERNATIONAL」（TVCM：2010年）
ミニカー「VooV（ブーブ）」（TVCM：2010年）
あにてれ Presents アニソンぷらす+（ナレーション：2013年2月放送分）
アニマックスアジア Anime Daisukiキャンペーン（本人出演TVCM：2013年7月）
燈の守り人 灯台音声ガイド 和歌山県串本町 樫野埼灯台（音声ガイド：2020年）
出演 > その他コンテンツ

コラム「だいさく幕の内」（声優グランプリ / 2004年2月号 - 2007年1月号）
パチンコ「特命係長 只野仁」（森脇幸一）
パチスロ「うる星やつら2」 （諸星あたる）
パチスロ 探偵歌劇 ミルキィホームズ TD 消えた7と奇跡の歌（トゥエンティ）
Fキャラオールスターズ大集合 ドラえもん&パーマン 危機一髪!?（密漁団手下）
ミュージカル「超ミュージカル版ケロロ軍曹 コチョコチョ大作戦であります!」（声の出演（ハチロー）/ 2009年）
ボイスオーバー「ザ・ベストハウス123」（2008年7月23日、2009年5月13日、2009年5月20日）
プロモーション映像「神羅万象チョコゼクスファクター」（太陽王子カナト / 2010年）
携帯コンテンツ 声グラmobile内グランプリ放送局「どうぞご唱和ください。おい!寺尾」（2008年5月7日 - 2009年3月31日）
矢場とんオリジナルアニメ「大須のぶーちゃん」（じいちゃん / 2019年10月 - ）
ディスコグラフィ

→謎の新ユニットSTA☆MENでの活動については「謎の新ユニットSTA☆MEN」を参照
ディスコグラフィ > シングル

|  | 発売日 | タイトル | 規格品番> 2次元ver. | 規格品番> 2.5次元ver. | 規格品番> 3次元ver. | オリコン 最高位 |
| --- | --- | --- | --- | --- | --- | --- |
| 1st | 2013年10月2日 | 0F〜Love Forever〜 | VTCL-35162 | VTCL-35163 | VTCL-35164 | 14位 |
ディスコグラフィ > アルバム

|  | 発売日 | タイトル | 規格品番 | オリコン最高位 |
| --- | --- | --- | --- | --- |
| 1st | 2012年3月28日 | BIRTHDAY | VICL-63862 | 19位 |
ディスコグラフィ > タイアップ曲

| 楽曲 | タイアップ |
| --- | --- |
BIRTHDAY: チバテレビ『ハピはぴ・モーニング〜ハピモ〜』2012年4月度エンディングテーマ
0F〜Love Forever〜: スマートフォン&タブレット用ゲームアプリ『家政婦さんっ!〜トキメク☆イケメン男子寮〜』主題歌
ディスコグラフィ > その他参加作品

DD（岸尾だいすけ、浪川大輔）
Double Destiny ＜1st Single＞
「Double Destiny」
「TRUTH」
「RAIN」
Dreamin Drive ＜2nd Single＞
「Dreamin Drive」
「Story」
「Place」
Dramatic Dive! ＜3rd Single＞
「Dramatic Dive!」
「Emerald」
COLORS ＜俳協45th ANNIVERSARY PARTY LIVE オリジナルソング＞
「『ありがと。』」HAIKYO VOICE ACTOR ALL STARS（大原さやか、折笠富美子、岸尾大輔、近藤孝行、佐藤利奈、諏訪部順一、浪川大輔、皆川純子）
「二人のストーリー」（男子（伊藤健太郎、岸尾大輔、近藤孝行、諏訪部順一、遠近孝一、浪川大輔、山岸功））
「Double Destiny」（DD（岸尾大輔、浪川大輔））
WEBラジオ 『シュガービーンズ放送局』Opening & Ending マキシシングル
「SHORT CIRCUIT」
その男、魔王!? vol.1
「碧き者、魔王」
その男、魔王!? vol.2
「So Dream」
百歌声爛 -男性声優編- III
祭囃子 buzzG feat.GUMI × VOCALISTS
「D.P.C.W」（buzzG feat.岸尾だいすけ）
ROCKMAN HOLIC 〜the 25th Anniversary〜
「太陽はいつも君のそばに」
[Re:collection] HIT SONG cover series feat.voice actors 〜90's-00's EDITION〜（2022年7月27日）
「田園」
字下げスタイル

字下げスタイル（じさげスタイル）またはインデントスタイル（英: indent style）とは、プログラミングにおいてプログラムの構造を明らかにするために、コードのブロックの字下げをどうするかを決めたものである。本項ではC言語やそれに類似した言語を主に扱うが、他のプログラミング言語（特に括弧を使用してブロックを記述する言語）にも適用可能である。字下げスタイルはプログラミング作法の一部である。
概要

字下げは大半のプログラミング言語では必須ではない。むしろ、プログラマは他の読者、あるいは自分自身にプログラムの構造を見やすく伝えるために字下げを行う。特に字下げは、条件分岐やループといった制御構造を明示するために使われる。なお一部の言語（PythonやOccam）では、括弧やキーワードではなく字下げで構造を定義する。これはオフサイドルールと呼ばれ、字下げはコンパイラやインタプリタの解釈に影響を与え、見やすさやスタイルを超える意味を持つ。
文における中括弧の配置

字下げスタイルの主な違いは、複数の文で構成される制御の並びにおける中括弧の配置にある。以下の表は各スタイルの配置を示したもので、関数宣言における配置とは異なる場合がある。一貫性を持たせるため、各スタイルで好まれる字下げの深さに関わらず、ここでは4スペースで統一している。
| 括弧の配置 | スタイル |
| --- | --- |
while (x == y) {     something();     somethingelse(); } : オールマン
while (x == y) {     something();     somethingelse(); } : K&R
while (x == y)   {     something ();     somethingelse ();   } : GNU
while (x == y)     {     something();     somethingelse();     } : ホワイトスミス
while (x == y) {   something();     somethingelse(); } : Horstmann
while (x == y)   { something()   ; somethingelse()   ;   } : Haskell
while (x == y) {   something();     somethingelse(); } : Pico
while (x == y) {     something();     somethingelse();     } : ラトリフ
while (x == y)   { something();     somethingelse(); } : Lisp
タブ、スペース、文字数

字下げの大きさもスタイルによって様々である。多くの初期のプログラムは字下げにタブ文字を使っていた。これは、単純であり、ソースファイルの大きさを無駄に大きくしないという利点があった。しかし同時に、定義が異なる環境でソースファイルをやり取りすると混乱が生じることがあった。例えば、UNIXのエディタでのタブ文字の長さが一般に空白文字8個分である一方、macOSでは4文字分である。そのため、最近のプログラミング向けエディタでは任意のサイズの字下げが可能で、空白文字とタブ文字を適当に混在させられることが多い。また、字下げをそもそも空白文字のみで行うこともある。
ツール

字下げスタイルやタブ文字の長さを自動的に調節するプログラムも存在する。例えば、UNIX系オペレーティングシステムによく搭載されているプログラムとして indent がある。このようなプログラムは、その作者が一般的と考えた字下げスタイルが自分の字下げスタイルに合っている場合には有効であるが、自分の字下げスタイルと違っている場合には余計に不満が出てくる場合もある。
スタイル > K&Rのスタイル

K&Rスタイル （あるいは、カーネルスタイル）とは、ブライアン・カーニハンとデニス・リッチーの著書でK&Rこと『プログラミング言語C』で使われた字下げスタイルであり、C言語で一般に使われている。C11 の仕様書 ISO/IEC 9899:2011 のサンプル、UNIXカーネル、Linuxカーネルはこのスタイルでソースコードが書かれている。Objective-C、C++ などでは、それほど一般的ではない。このスタイルでは、ブロック開始の中括弧を制御文と同じ行に置き、ブロック内の文を字下げして記し、ブロックを閉じる中括弧を制御文と同じ字下げ位置に戻して記す（その行は中括弧が先頭になる）。関数はそれとは異なり、関数の定義の最初の中括弧は宣言の次の行の先頭に記され、宣言と同じ字下げレベルとなる（これは次の例で示すように、ANSI標準より前の構文のせいでもある（K&Rの初版の中のコードはこのような構文で書かれていた）。行頭の中括弧で関数本体の先頭を検出しているツール等があったため、標準化後や他のスタイルのコードでもここだけは同じにしていることも多い）。
int main(argc, argv)
    int argc;
    char *argv[];
{
    ...
    while (x == y) {
        something();
        somethingelse();
        if (some_error)
            do_correct(); // K&Rでは単独の文しかないブロックには中括弧を付けていない。
        else
            continue_as_usual();
    }
    finalthing();
    ...
}
プログラミング言語C は、プログラミングにこのスタイルを推奨しているわけではない。次で述べるように、スタイルを選んだら一貫して使うように、とのみ述べている。単に同書に印刷されているプログラムリストがこのスタイルであるというだけであり、書籍としてのレイアウト上の都合による点がある（特に波括弧の手前に改行を入れない点など）とも言われる。
同書自身による注意をここに引用する:
これは字下げスタイルにこだわる人々への戒めでもある。著者の1人デニス・リッチーはC言語の設計開発者でもあるが、彼がこの字下げスタイルの支持者というわけでもない。
初期のC言語では、引数の型は行を分けて書かなければならなかった (関数ヘッダの直後)。
/* ISO標準化以前の関数プロトタイプ宣言がなかった時代の、オリジナルのC言語で使われていたスタイル */
int main(argc, argv)
    int   argc;
    char  *argv[];
{
    ...
}
スタイル > K&Rのスタイル > 1TBS(OTBS)

"The One True Brace Style"(真の中括弧スタイル)（1TBS あるいは OTBSと略される）はK&Rと非常に類似している。
このスタイルの支持者によれば、ブロック開始の中括弧は新たな行に置く必要はなく、最後の中括弧は概念的に対応する文と同じ位置まで上げるのだという。このスタイルの欠点は、ブロックの最後の中括弧が行を新たに必要とする点であるが、if/else や do/while ではこれが部分的に改善される。
if (x < 0) {
    printf("Negative");
    negative(x);
} else {
    printf("Positive");
    positive(x);
}
このスタイルのソースコードはブロック開始の中括弧を探すのが困難と言われるが、字下げが始まった位置は見れば明らかなので、その上の行の最後に中括弧があることは明らかである。
このスタイルができた当時、端末の行数はわずか24行であったため、ブロック開始の中括弧に1行を割くことで見える範囲が狭まることを嫌ったと考えられる。上の例でも明らかなように、if...else if...[etc.]...else といったコードでは、中括弧ごとに新たな行を消費するよりも多くの内容が少ない行数で表示できる。
AppleのXcodeはこのスタイルをデフォルトで使っている。
スタイル > K&Rのスタイル > Linuxカーネル

LinuxカーネルのスタイルはK&Rスタイルから若干異なっており、Linuxカーネル全体で一貫して使われていることでよく知られている。リーナス・トーバルズは全てのコントリビューターがこれに従うよう強く推奨している。このスタイルはK&Rから多くの要素を引き継いでいる。
このカーネルスタイルはタブを字下げに使い、タブ幅は8文字とされる。関数ヘッダに続く行の先頭で関数の括弧を開く。それ以外の場合は対応する文と同じ行の末尾で括弧を開く。switch文のラベルは囲んでいるブロックに合わせる (字下げのレベルは1段階のみ)。複合文 (if、while、do-whileなど) が単一の文を持つ場合は括弧を付けない。ただしif-elseのいずれか片方のブロックが括弧を必要とする場合は、両方のブロックを括弧で囲む。1行の長さは80文字に制限されるが、現在は100文字まで緩和されており、元の制限を守ることは今でも推奨されている。
Linuxカーネルスタイルでは「もし条件文の片方が単一の文である場合は、両方に括弧を使う」とされている。
int power(int x, int y)
{
        int result;

        if (y < 0) {
                result = 0;
        } else {
                result = 1;
                while (y-- > 0)
                        result *= x;
        }
        return result;
}
スタイル > K&Rのスタイル > 強制括弧

スコープ内に1文しかない場合でも常に括弧を付けるべきだと主張する人もいる。1文だけであってもif、else、whileに常に括弧を付けることで、コードのどこかに新しい行を挿入しても常に安全である(挿入によって実行の流れがソースコードの字下げ一致しなくなることがない)。
代償として、各ブロックの最後に余分な1行が必要となる。
スタイル > K&Rのスタイル > Java/ECMAScript

Java言語ではサン・マイクロシステムズが1995年（最終改訂は1999年4月20日）に発表した公式のコーディング規約「Code Conventions for the Java Programming Language」に沿って書かれることが多い。これは、K&Rスタイルをベースに、クラス定義やメソッド定義の最初の中括弧を次の行に置いたりしない物である。また、ActionScriptやJavaScriptといったECMAScript派生言語でも一般的にJava言語コーディング規約に類似した書き方がされることが多い。
class Test {
    public static void main(String[] args) {
        if (args.length > 0) {
        } else {
        }
    }
}
スタイル > K&Rのスタイル > ストロヴストルップ

ストロヴストルップ・スタイルはビャーネ・ストロヴストルップがC++で使ったK&Rスタイルで、ストラウストラップのプログラミング入門 C++によるプログラミングの原則と実践やThe C++ Programming Languageといった彼の著書で使われている。
前述のスタイルと異なり、cuddled else (elseの前後に}と{を置くスタイル) を使わない。したがってストロヴストルップ式では次のようになる。
if (x < 0) {
        puts("Negative");
        negative(x);
    }
    else {
        puts("Non-negative");
        nonnegative(x);
    }
ストロヴストルップはK&Rスタイルをクラスに拡張しており、次のように表記される。
class Vector {
    public:
        Vector(int s) :elem(new double[s]), sz(s) { }   // Vectorのコンストラクタ
        double& operator[](int i) { return elem[i]; }   // インデクサ
        int size() { return sz; }
    private:
        double * elem;    // 要素へのポインタ
        int sz;           // 要素数
    };
ストロヴストルップはpublic:とprivate:を字下げしない。またこのスタイルでは、関数の次の行で括弧を開く一方で、クラスについてはクラス名と同じ行の中で括弧を開いている。
ストロヴストルップ式では短い関数を1行にまとめてしまうことを許している。ストロヴストルップのスタイルはEmacsで利用できる名前付き字下げスタイルである。ストロヴストルップはC++でもK&R由来のスタイルを使うことを推奨しており、彼の最近の著書であるC++ Core Guidelinesで言及されている。
スタイル > K&Rのスタイル > BSD/KNFスタイル

Kernel Normal Form とも呼ばれるスタイルで、BSD系オペレーティングシステムでよく使われている。主にカーネルコードで使われているが、ユーザーランドのコードでもよく使われている。これは基本的にはベル研究所のUnixバージョン6と7で用いられた、きちんと文章化されたK&Rである。
SunOSのカーネルとユーザーランドでも同様のスタイルが使われる。KNFと同様に、AT&Tのスタイル仕様書に基づいており、ビル・ジョイNormal Formと呼ばれることがある。SunOSのガイドラインは1996年に発行されており、ANSI Cについての言及がある。ソースコードの字下げが正しいかどうかはビル・シャノンが開発したcstyleで調べることができる。
ハードタブ（viでは ts）は一般に8文字ぶんの幅だが、ソフトタブはその補助として定義され（vi では sw）、通常4文字幅とされている。
ハードタブはブロックを示すのに使われ、ソフトタブは文が1行に収まらずに折り返さなければならないときに使われる。
さらに言えば、関数呼び出しでは括弧の前に空白を置かないが、C言語の構文 if、while、do、switch、return は括弧の前に空白を置く（return 文で値を返すとき括弧を使用）。
以下はその例である:
while (x == y) {
        something();
        somethingelse();
}
finalthing();
if (data != NULL && res > 0) {
        if (!JS_DefineProperty(cx, o, "data", STRING_TO_JSVAL(
            JS_NewStringCopyN(cx, data, res)), NULL, NULL,
            JSPROP_ENUMERATE)) {
                QUEUE_EXCEPTION("Internal error!");
                goto err;
        }
        PQfreemem(data);
} else {
        if (!JS_DefineProperty(cx, o, "data", OBJECT_TO_JSVAL(NULL),
            NULL, NULL, JSPROP_ENUMERATE)) {
                QUEUE_EXCEPTION("Internal error!");
                goto err;
        }
}
static JSBool
pgresult_constructor(JSContext *cx, JSObject *obj, uintN argc,
    jsval *argv, jsval *rval)
{
        QUEUE_EXCEPTION("PGresult class not user-instanciable");

        return JS_FALSE;
}
スタイル > BSD/オールマンのスタイル

BSD/オールマン・スタイル (Allman style) もよく使われる。これはBSDで数多くのユーティリティを開発したエリック・オールマンの名が由来である (上述のBSD KNFスタイルと混同されないようにされたし)。
このスタイルでは、制御文の後の中括弧を次の行に置き、制御文と同じ字下げ位置とする。ブロック内の文は次のレベルに字下げされる。
while (x == y)
{
    something();
    somethingelse();
}
finalthing();
これはPascalやTransact-SQLの標準的な字下げに似ていて、中括弧が "begin" や "end" といったキーワードと同じように扱われている。
(* オールマン式の字下げをPascalで記述した場合の例 *)
procedure dosomething(x, y: Integer);
begin
    while x = y do
    begin
        something();
        somethingelse();
    end;
end;
このスタイルの利点は、ブロックの前後が中括弧しかないほとんど空白の行で囲まれているため、非常にわかりやすい点である。また、対応する中括弧が同じ字下げ位置に必ず来るので、その対応も目で追いやすい。またブロックの形がコードのブロックと、対応する制御文を区別する。制御文やコードブロックをコメント化するなど、コードのリファクタリングをする際に括弧の位置によるエラーを引き起こしにくくなる。また括弧の配置は一番外側の関数定義の配置と一貫性がある。
例えば以下コードは文法的に正しい。
// while (x == y)
{
    something();
    somethingelse();
}
これも同様。
// for (int i=0; i < x; i++)
// while (x == y)
if (x == y)
{
    something();
    somethingelse();
}
さらに条件付きコンパイルでも使える。
int c;
#ifdef HAS_GETCH
    while ((c = getch()) != EOF)
#else
    while ((c = getchar()) != EOF)
#endif
    {
        do_something(c);
    }
このスタイルは、制御文とブロックを分離することで可読性を向上させることを目的としており、一度に表示できるコードの量は二の次となっている。
Microsoft Visual Studio（Microsoft Visual C++）は、このスタイルをデフォルトで使っている。
スタイル > BSD/オールマンのスタイル > Allman-8

Allman-8はK&Rの亜種であるLinuxカーネルの80文字制限と8文字のタブ記号に従ったもので、アメリカの教育現場でよく使われている。このスタイルはプロジェクター使用時の可読性を向上させる。また字下げ幅と桁数制限により、深すぎるネストが一目でわかるようになる。こうした利点は初心者や学習者が複雑なコードを自然に避けるように仕向けるのに役立つ。
スタイル > BSD/オールマンのスタイル > C#

C#言語について、マイクロソフトは「C# のコーディング規則」を公開しており、このレイアウト規則はBSD/オールマンのスタイルに基づいている。
if ((val1 > val2) && (val1 > val3))
{
    something();
}
スタイル > BSD/オールマンのスタイル > ホワイトスミスのスタイル

ホワイトスミス・スタイルはあまり有名ではない。ウィッシャート・スタイルとも呼ばれ、もともとは世界初の商用Cコンパイラであるホワイトスミス・コンパイラで、ドキュメントに使われていた。またこれは初期のWindows業界でもよく使われ、Programmer's Guide to Windows (Durant、Carlson、Yao共著)、Programming Windows (Petzold著)、Windows 3.0 Power Programming Techniques (Norton、Yao共著)などのような人気のWindowsプログラミング書籍でも使われた。
このスタイルでは制御文の後の中括弧を次の行に置くが、このときに字下げする。ブロック内の文は中括弧と同じ字下げレベルに書かれる。
while (x == y)
    {
    something();
    somethingelse();
    }
finalthing();
このスタイルの利点はBSD/オールマン・スタイルと同じで、ブロックと制御文が明確に分離される点である。また、中括弧とその中の文を同じ字下げレベルにすることで概念的にこれらが1つの文と同じであることを強調する。さらに、中括弧が文法的には while 文などの一部ではなく、複合文の一部であることも強調している。
欠点は中括弧が目立たない点である。ただし、中括弧だけで1つの行となっているため、目立つか目立たないかは意見の分かれるところでもある。
if (data != NULL && res > 0)
    {
    if (!JS_DefineProperty(cx, o, "data", STRING_TO_JSVAL(JS_NewStringCopyN(cx, data, res)), NULL, NULL, JSPROP_ENUMERATE))
        {
        QUEUE_EXCEPTION("Internal error!");
        goto err;
        }
    PQfreemem(data);
    }
else if (!JS_DefineProperty(cx, o, "data", OBJECT_TO_JSVAL(NULL), NULL, NULL, JSPROP_ENUMERATE))
    {
    QUEUE_EXCEPTION("Internal error!");
    goto err;
    }
else ifは文として扱われ、プリプロセッサの#elifと統一感がある。
スタイル > BSD/オールマンのスタイル > GNUスタイル

BSD/オールマンやホワイトスミス・スタイルと同様、GNUスタイルでも中括弧だけで行を構成する。中括弧は空白2個ぶん字下げされ、その中の文はさらに空白2個ぶん字下げされる。ただし関数定義では字下げしない。
リチャード・ストールマンが広めたスタイルであり、LISPのコードを書いた経験がベースにあると考えられる。Lispではブロックに相当するもの (progn) はファーストクラスのデータ要素であり、新たな字下げレベルを与えることで強調できるが、Cではブロックは単なる構文である。このスタイルは1960 - 1970年代にあるALGOLやXPLの書籍にも見られる。字下げとは直接関係ないが、GNUスタイルでは関数呼び出しの括弧の前にも空白を置く。
static char *
concat (char *s1, char *s2)
{
  while (x == y)
    {
      something ();
      somethingelse ();
    }
  finalthing ();
}
利点はBSD/オールマンやホワイトスミスと同様で、かつホワイトスミスの欠点とされた「中括弧が目立たない」という問題にも対処している。
GNU EmacsエディタやGNUのindentコマンドでは、デフォルトでこのスタイルでの字下げを行う。GNU関係者はほぼ全てこのスタイルを使っているが、GNU以外でも一部で使われている。
GNU Emacs を使わない場合や、類似のカスタマイズ可能なエディタを使えない場合、エディタによる自動字下げではこのスタイルはなかなか対応できない。
スタイル > BSD/オールマンのスタイル > ホルストマン・スタイル

1997年にケイ・S・ホルストマンが執筆したComputing Concepts with C++ Essentialsではオールマン・スタイルの亜種が使われており、ブロックの頭で括弧を開き、同じ行に最初の文を置いている。このスタイルはイェンセンとルイスが書いたPascal User Manual and Reportでも使われている。
while (x == y)
{   something();
    somethingelse();
    //...
    if (x < 0)
    {   printf("Negative");
        negative(x);
    }
    else
    {   printf("Non-negative");
        nonnegative(x);
    }
}
finalthing();
このスタイルではオールマンの長所である読みやすさを重視した括弧の縦の並びを維持し、ブロックを識別しやすくしつつ、K&Rスタイルのような1行を節約できる一挙両得のスタイルである。しかし2003年の改版では全面的にオールマン・スタイルが採用された。
スタイル > Picoスタイル

Picoという言語で、その開発者も一般に使っているスタイルは、これまでに説明したどのスタイルとも異なっている。Pico には return 文がなく、文の終わりを示す記号としてではなく文と文の分離記号としてセミコロンが使われていることから、次のようなスタイルが生まれた:
stuff(n):
{ x: 3 * n;
  y: doStuff(x);
  y + x }
その利点と欠点は、画面表示量を重視するK&Rスタイルに近い。また、どちらの中括弧も独立した行になっていないという点でK&Rスタイルよりも一貫性があるとも言える。
スタイル > ラトリフのスタイル

C・ウェイン・ラトリフは著書Programmers at Workで以下のスタイルについて書いている。スタイルは1TBSとほぼ同じだが、閉じ括弧はネストしたブロックの字下げと同じ位置になる。ラトリフはdBase-IIと-III、4GLなどの人気ソフトのオリジナル版のプログラマ。このスタイルは元々はDECで仕様化されていた。バナー式とも呼ばれる。ブロックのヘッダ部だけを字下げレベルで特別に目立たせるスタイルである。ちょうど、K&Rスタイルでブロックの終わりの中括弧の字下げレベルを戻さないスタイルである。
// Cの例
 for (i = 0; i < 10; i++) {
     if (i % 2 == 0) {
         doSomething(i);
         }
     else {
         doSomethingElse(i);
         }
     }
マークアップ言語では次のようになる。
{|
|-
| lots of stuff...
      more stuff
      || alternative for short lines || etc. 
|}

{|
|-
... etc
|}
スタイル > Lispスタイル

さらに、終わりの中括弧を別の行にしない書き方もある。このスタイルでは中括弧はブロックの識別の役に立たないが、情報のない行を省くという利点もある。Lispで非常に一般的であるためLispスタイルと呼ぶことができるほか、Pythonスタイルとも呼べる。Pythonには括弧はないが、以下のコードブロックが示すように、レイアウトは非常に似ている。Pythonではレイアウトは言語の一部であり、オフサイドルールと呼ばれる。
for(i = 0; i < 10; i++) {
    if(i % 2 == 0) {
        doSomething(i); }
    else {
        doSomethingElse(i); } }
// Cの例
for (i = 0; i < 10; i++)
    {if (i % 2 == 0)
        {doSomething(i);}
     else
        {doSomethingElse(i);
         doThirdThing(i);}}
# Pythonの例
for i in range(10):
    if i % 2 == 0:
        do_something(i)
    else:
        do_something_else(i)
        do_third_thing(i)
;; Lispの例
(dotimes (i 10)
    (if (= (rem i 2) 0)
        (do-something i)
        (progn
            (do-something-else i)
            (do-third-thing i))))
スタイル > Haskellスタイル

Haskellでは中括弧とセミコロンを利用でき、中括弧の配置は任意である。以下の2つの例はいずれもコンパイラに同一のコードとして扱われる。
braceless = do
  text <- getContents
  let
    firstWord = head $ words text
    bigWord = map toUpper firstWord
  putStrLn bigWord

braceful = do
  { text <- getContents
  ; let
      { firstWord = head $ words text
      ; bigWord = map toUpper firstWord
      }
  ; putStrLn bigWord
  }
その他

ある状況では、ブロックの境界を見失う危険性が生じる。制御構造が複雑で何重にも入れ子になっているときに起きやすい。そのようなコードをスクロールしながら見ていて、制御構造のつながり方を見失うのである。
始まりの中括弧を数えることで制御構造を確認する場合、K&Rなどのスタイルでは、制御構造と中括弧が見た目で分離されていないため、問題が発生しやすい。字下げレベルを手掛かりとする場合は、K&Rスタイルなどの方がブロックを表示する行数が少なくなるため、可読性が増す。
for文などで制御構造を見失うのを防ぐため、ハードタブの8文字幅などの大きな字下げを使ったり、大きな関数をもっと読みやすい小さな関数に分割したりする。Linux ではK&Rスタイルに加えて、そのような手法を使用している。
別の方法として、閉じる側の中括弧の行に以下のようなコメントを加える:
for ( int i = 0 ; i < total ; i++ ) {
    foo(bar);
} //for ( i )

if (x < 0) {
    bar(foo);
} //if (x < 0)
しかし、この方法では同じコードをソース内の2ヶ所に記述しているため、修正を行う際に問題となる。
折りたたみ機能のあるエディタを使うという手法もあり、ある字下げレベル以降のブロックを隠して表示するなどの機能が使える。