Loading article…
コンピュータプログラミング において、自己文書化(または自己記述型)ソースコードとユーザーインターフェースは、命名規則と構造化プログラミング規則に従っており、事前の特定の知識がなくてもシステムを使用できます。[1] Web開発において、自己文書化とは、公開文書を通じて作成プロセス全体を公開し、その公開文書が開発プロセスの一部であるWebサイトを指します。[要出典]
目的
自己文書化システムの一般的な目的は次のとおりです。
- ソースコードを読みやすく理解しやすくする[2]
- レガシーシステムの維持や拡張に必要な労力を最小限に抑える[2]
- システムのユーザーや開発者がコードコメントやソフトウェアマニュアルなどの二次文書を参照する必要性が減る[2]
- 自己完結型の知識表現を通じて自動化を促進する
コンベンション
自己文書化コードは、表面上は人間が読める名前を使用して記述され、通常はarticle.numberOfWordsやTryOpenなど、シンボルの意味を反映する人間の言語のフレーズで構成されます。また、人間の読者が使用されているアルゴリズムを簡単に理解できるように、コードは明確でクリーンな構造になっている必要があります。
実用的な考慮事項
自己文書化システムの目的が実現できるかどうか、またどの程度実現できるかに影響を与える、いくつかの実際的な考慮事項があります。
例
以下は、明示的なコメントの代わりに命名規則を使用してコードのロジックを人間の読者にとってより明確にする、 自己文書化Cコードの非常に単純な例です。
size_t count_alphabetic_chars ( const char * text ) { if ( text == NULL ) return 0 ;
size_tカウント= 0 ;
while ( * text != '\0' ) { if ( is_alphabetic ( * text )) count ++ ; text ++ ; }
カウントを返す; }
批判
ジェフ・ラスキンは、コードではプログラムがなぜ書かれているのか、なぜそのように実装されているのかという根拠を説明できないとして、「自己文書化」コードに対する信念を批判した。[3]
参照
参考文献
- ^ Schach, Stephen R. (2011).オブジェクト指向と古典的ソフトウェアエンジニアリング(第 8 版). McGraw-Hill Professional . pp. 505–507. ISBN 978-0-07337618-9. OCLC 477254661.
- ^ abcde Paul, Matthias R. (2002-04-09). 「Re: [fd-dev] ANNOUNCE: CuteMouse 2.0 alpha 1」. freedos-dev . 2020-03-24 にオリジナルからアーカイブ。 2020-03-24に取得。
[…] ソースコード内のほぼすべての数値は、対応するシンボルに置き換える必要があります。これにより、ソースコードの自己説明的な側面が大幅に改善され、長期的にはコードのメンテナンスが大幅に容易になります。これは、シンボルを検索してコードのさまざまな抜粋間の関係を見つけることができるためです。 […]
- ^ Raskin, Jef (2005-03-18). 「コメントはコードよりも重要 - 内部ドキュメントの徹底的な使用は、ソフトウェアの品質を向上させ、実装を高速化する最も見落とされている方法の 1 つです」。ACM Queue . 開発。3 ( 2). ACM, Inc. 2020-03-24 にオリジナルからアーカイブ。2019-12-22に取得。[1][2]
さらに読む
- McConnell、Steve。「高品質ルーチンのチェックリスト」。Code Complete。
