多くの言語
の書き言葉では、インデントはテキストの周囲に使用される空白、つまり空白スペースを表し、次のようなテキストの重要な側面を示します。
多くのコンピュータ言語では、ソース コードのブロックを区切るためにブロック インデントを使用します。
インデントは、行頭と行末を考慮すると、書記体系が左から右 (ラテン語やキリル文字など) であるか右から左 (ヘブライ語やアラビア語など) であるかに関係なく、基本的に同じです。たとえば、行頭のインデントは、左から右のスクリプトの場合は左側、右から左のスクリプトの場合は右側を意味します。
インデントは名詞と動詞の両方です。動詞はテキストをインデントするように書式設定する行為ですが、名詞は結果として生じる空白を指します。
種類
インデントには、1 行目インデント、ぶら下げインデント、ブロック インデントの 3 つの主な種類があります。
以下の各例は、ページ境界を表すボックス内にあり、一般的なタイプセッティングのlorem ipsumコンテンツを使用しています。ここでのインデントの幅はemスペース単位です。
- 最初の行のインデント では、段落の最初の行がインデントされます。
- 最初の行のインデントは 2 em です。
ロレム・イプサム・ドルー・シット・アメット、コンセクト・アディピシング・エリート、セド・ド・エイウスモッド・テンポラ・インシディダント・ユー・レイバーとドローレ・マグナ・アリクア。必要最小限の費用で、必要な作業をすべて行って、結果を得ることができます。 Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eufugiat nulla pariatur.例外的に、問題を提起することはできませんが、責任を負う義務を負うものではありません。
- ぶら下げインデント の場合、段落の最初の行を除くすべての行がインデントされます。
- 2em のぶら下げインデント:
ロレム・イプサム・ドルー・シット・アメット、コンセクト・アディピシング・エリート、セド・ド・エイウスモッド・テンポラ・インシディダント・ユー・レイバーとドローレ・マグナ・アリクア。必要最小限の費用で、必要な作業をすべて行って、結果を得ることができます。 Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eufugiat nulla pariatur.例外的に、問題を提起することはできませんが、責任を負う義務を負うものではありません。
- ブロックインデント の場合、段落全体が前の段落を基準にしてインデントされます。
- 左に 2 em のブロックインデント:
ロレム・イプサム・ドルー・シット・アメット、コンセクト・アディピシング・エリート、セド・ド・エイウスモッド・テンポラ・インシディダント・ユー・レイバーとドローレ・マグナ・アリクア。必要最小限の費用で、必要な作業をすべて行って、結果を得ることができます。 Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eufugiat nulla pariatur.例外的に、問題を提起することはできませんが、責任を負う義務を負うものではありません。
- 両側のブロック インデントは、引用文、ブロック引用文でよく使用されます。ここでは、左右に 2 em が表示されていますが、右揃えではないため、右側の空きスペースは行の長さによって異なります。
ロレム・イプサム・ドルー・シット・アメット、コンセクト・アディピシング・エリート、セド・ド・エイウスモッド・テンポラ・インシディダント・ユー・レイバーとドローレ・マグナ・アリクア。必要最小限の費用で、必要な作業をすべて行って、結果を得ることができます。 Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eufugiat nulla pariatur.例外的に、問題を提起することはできませんが、責任を負う義務を負うものではありません。
- これは前と同じですが、両端揃え(左揃えと右揃え)になっています。
ロレム・イプサム・ドルー・シット・アメット、コンセクト・アディピシング・エリート、セド・ド・エイウスモッド・テンポラ・インシディダント・ユー・レイバーとドローレ・マグナ・アリクア。必要最小限の費用で、必要な作業をすべて行って、結果を得ることができます。 Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eufugiat nulla pariatur.例外的に、問題を提起することはできませんが、責任を負う義務を負うものではありません。
プログラミングにおけるインデント
コンピュータプログラミングにおいて、インデントとは、コードテキストの左側に空白を配置してソースコードをフォーマットすることを指します。多くの場合、一連のコード行が構文的にはコードブロックであることを視覚的に示すためにインデントが使用されます。通常、ブロックの行は、コードの階層構造におけるブロックの深さを示す空白の量に合わせて配置されます。階層の各内部レベルは、このインデント幅の倍数でインデントされます。
コード内の空白は通常、空白文字として保存されます。
自由形式言語の場合、コード プロセッサ (コンパイラ、インタープリタなど) は空白文字を無視するため、インデントはプログラマ専用です。コードには一貫性のないインデントがあったり、まったくインデントがなかったりする場合もありますが、一般的にはある程度一貫したインデントでフォーマットされます。
一部の言語では、ブロック構造を区切るために、オフサイドルールを介してインデントを使用します。この構文要件により、コードには、自由形式言語コードでは要求されないレベルの一貫性が求められます。
新語の outdent、unindent、dedent は、インデントの反対、つまり、ある行のコード テキストを前の行の左に揃えることを表します。
バリエーション
インデントの実装における一般的なバリエーションには、コード階層の各レベルでブロックをどのくらいインデントするか(通常はスペースで測定)、空白文字をスペースとして保存するかタブ文字として保存するかなどがあります。一般的な慣行はありますが、コンセンサスは普遍的ではありません。 [1]これらのバリエーションは、言語構文、組織の命令、個人の好み などを含むがこれらに限定されない要因によって決まります。
一般的な慣行
次の表は、コードのインデントに関する注目すべきプラクティスを示しています。
伸縮性のあるタブストップ
2006 年に、エラスティック タブストップと呼ばれる新しいインデントの方法が提案されました。[要出典]
参考文献
- ^ 「タブ対スペース:永遠の聖戦」Jwz.org 2007年1月5日2014年1月18日閲覧。
- ^ 「Bash スタイル ガイドとコーディング標準」(PDF) . Lug.fh-swf.de .
- ^ “アーカイブコピー”. 2014年6月26日時点のオリジナルよりアーカイブ。2014年6月23日閲覧。
{{cite web}}: CS1 maint: アーカイブされたコピーをタイトルとして (リンク) - ^ “アーカイブコピー”. 2015年2月14日時点のオリジナルよりアーカイブ。2015年2月15日閲覧。
{{cite web}}: CS1 maint: アーカイブされたコピーをタイトルとして (リンク) - ^ “Linuxカーネルコーディングスタイル”. 2022年6月11日時点のオリジナルよりアーカイブ。2022年7月21日閲覧。
- ^ 「C スタイル ガイド」。NASAテクニカル レポート サーバー。1994 年 8 月。
- ^ Staley, Clinton (2006). 「C プログラム スタイル ルール」. Cal Poly 大学コンピュータ サイエンス & ソフトウェア エンジニアリング学部.
- ^ 「コードスタイルガイドライン」。WebKit。2015年11月7日。 2021年12月31日閲覧。
- ^ [1] 2014年10月6日に Wayback Machineにアーカイブ
- ^ Bill Wagner. 「C# コーディング規則 (C# プログラミング ガイド)」。Msdn.microsoft.com。2017年9 月 3 日閲覧。
- ^ 「CSS フォーマット ガイドライン」。Drupal.org。2013年 1 月 14 日。2014 年1 月 18 日閲覧。
- ^ 「CSS · Styleguide · GitHub」。Github.com 。2014年1月18日閲覧。
- ^ ab 「Google HTML/CSS スタイル ガイド」。Google GitHub。インデント。2016 年 3 月 13 日時点のオリジナルよりアーカイブ。2016 年3 月 13 日閲覧。一度
に 2 スペースずつインデントします。
これはXML形式で保存されている公式バージョンのHTMLレンダリングされたコピーです。 - ^ 「styleguide: Google 発のオープンソース プロジェクト向けスタイル ガイド」。Github.com。2017年 9 月 3 日。2017 年9 月 3 日閲覧。
- ^ 「WordPress › CSS コーディング標準 « Make WordPress Core」Make.wordpress.org 2012年7月17日。 2018年7月20日閲覧。
- ^ 「Delphi の Object Pascal スタイル ガイド - 空白の使用法」 。2022年12 月 13 日閲覧。
- ^ 「F# コード フォーマット ガイドライン」。docs.microsoft.com。2020年10 月 14 日閲覧。
- ^ 「Effective Go – Goプログラミング言語」golang.org . 2017年9月3日閲覧。
- ^ 「HaskellStyleGuide – ganeti – Haskell コードのスタイル ガイド – クラスターベースの仮想化管理ソフトウェア – Google プロジェクト ホスティング」。Code.google.com。2014年 1 月 8 日。2013 年 6 月 27 日時点のオリジナルよりアーカイブ。2014 年1 月 18 日閲覧。
- ^ 「HTML Tidy 構成オプション クイック リファレンス」。Tidy.sourceforge.net。2008年6 月 18 日。2014年1 月 18 日閲覧。
- ^ 「Javaプログラミング言語のコード規則: 4. インデント」。Oracle.com 。2014年1月18日閲覧。
- ^ 「貢献者向けコード スタイル ガイドライン | Android 開発者」。出典: android.com。2014年1 月 18 日閲覧。
- ^ 「JavaScript プログラミング言語のコード規則」Javascript.crockford.com 2006 年 11 月 13 日。2014年1 月 18 日閲覧。
- ^ “JavaScript スタイルガイド”. Github.com . 2013年8月15日時点のオリジナルよりアーカイブ。 2014年1月18日閲覧。
- ^ 「JaveScript スタイル ルール」。Google -styleguide.googlecode.com。2014年 2 月 16 日時点のオリジナルよりアーカイブ。2014 年2 月 18 日閲覧。
- ^ jQuery Foundation - jquery.org. 「JavaScript スタイル ガイド | jQuery への貢献」。Contribute.jquery.org。2014年1月 18 日閲覧。
- ^ 「スタイル ガイド · Julia 言語」。docs.julialang.org。
- ^ 「コーディング規約 – Kotlin プログラミング言語」Kotlin。
- ^ 「lua-users wiki: Lua スタイルガイド」。lua -users.org 。 2017年9月3日閲覧。
- ^ Allen, Jon (JJ) (編). 「perlstyle: Perl スタイル ガイド」. Perl 5 バージョン 32.1 ドキュメント. Perl Foundation . 2021 年4 月 19 日閲覧。
- ^ 「コーディング標準」。Drupal.org 。 2014年1月18日閲覧。
- ^ 「マニュアル::インデントと行の長さ」。Pear.php.net 。2014年1月18日閲覧。
- ^ 「PHP コーディング標準 (ドラフト) – 貢献者 – Zend Framework Wiki」。Framework.zend.com。2008年1 月 3 日時点のオリジナルよりアーカイブ。2014 年1 月 18 日閲覧。
- ^ 「スタイルガイド: CodeIgniter ユーザーガイド」。Ellislab.com 。 2013年6月1日時点のオリジナルよりアーカイブ。2014年1月18日閲覧。
- ^ 「WordPress › PHP コーディング標準 « Make WordPress Core」。Make.wordpress.org。2012年7月23日。 2014年1月18日閲覧。
- ^ 「PHP : コーディング スタイル ガイド」。Php -fig.org。2014年 3 月 15 日時点のオリジナルよりアーカイブ。2014 年2 月 18 日閲覧。
- ^ 「コードのレイアウトとフォーマット - PowerShell の実践とスタイル」。PowerShellの実践とスタイル。2021 年10 月 17 日閲覧。
- ^ 「PEP 8 – Python コードのスタイルガイド」。Python.org。2017年9月 3 日閲覧。
- ^ Batsov, Bozhidar (2017 年 9 月 3 日). 「ruby-style-guide: コミュニティ主導の Ruby コーディング スタイル ガイド」. Github.com . 2017 年9 月 3 日閲覧。
- ^ 「rust: 安全で並行性のある実用的な言語」Github.com 2017年9月3日2017年9月3日閲覧。
- ^ 「インデント – Scala ドキュメント」。docs.scala-lang.org。2017年9 月 3 日閲覧。
- ^ 「Swift スタイルガイド」. google.github.io . 2021 年10 月 17 日閲覧。
- ^ Ray Johnson. 「Tcl スタイル ガイド」(PDF) . Tcl.tk . 2017 年9 月 3 日閲覧。
- ^ 「構造化コーディング規則」。msdn.microsoft.com。2007年 1 月 4 日。2017 年9 月 3 日に閲覧。
- ^ 「Google XML ドキュメント形式スタイルガイド」。google.github.io。Google。2021年10月17日閲覧。
