変数の命名規則の簡潔なカタログはありますか?
-
04-07-2019 - |
質問
長年にわたって遭遇した変数名には多くの異なるスタイルがあります。
命名規則に関する現在のウィキペディアのエントリはかなり軽いです...
変数の命名規則の簡潔なカタログを参照してください。名前/説明、およびいくつかの例で識別できます。
特定のプラットフォームコミュニティが特に規約を支持している場合は、それも注目に値します。
これをコミュニティWikiに変更するので、各規約の回答を作成し、必要に応じて編集してください。
解決
私が見た中で最高の命名規則セットは、本" コードにあります。完了" Steve McConnellには、命名規則と多くの例に関するすばらしいセクションがあります。彼の例は、いくつかの「ベストプラクティス」を実行します。言語ごとに異なりますが、最終的には開発者、開発マネージャー、またはアーキテクトに任せて特定のアクションを決定します。
他のヒント
PEP8 は、Pythonコードのスタイルガイドです。 Pythonコミュニティで比較的影響力のある標準ライブラリ。ボーナスポイントについては、Python標準ライブラリで使用される命名規則をカバーすることに加えて、一般的な命名規則の概要を提供します。
PEP8によると、標準ライブラリの変数、インスタンス変数、関数、およびメソッドは、読みやすくするためにアンダースコアで区切られた小文字の単語を使用することになっています。
foo
parse_foo
a_long_descriptive_name
名前と予約語を区別するには、アンダースコアを追加します:
in_
and_
or_
弱いプライベート(「from M import *」ではインポートされない)の名前は、単一のアンダースコアで始まります。名前のマングリングでプライバシーが強化されている名前は、二重アンダースコアで始まります。
_some_what_private
__a_slightly_more_private_name
Pythonの「特別な」メソッドである名前は、二重アンダースコアで始まり、二重アンダースコアで終わります:
__hash__ # hash(o) = o.__hash__()
__str__ # str(o) = o.__str__()
SunはJavaの変数名の規則のリストを公開しましたこちら。リストには、パッケージ、クラス、インターフェース、メソッド、変数、および定数の命名規則が含まれています。
変数の状態に関するセクション
変数を除き、すべてのインスタンス、クラス、およびクラス定数は大文字と小文字が混在し、最初の文字は小文字です。内部の単語は大文字で始まります。変数名は、アンダースコア_またはドル記号$文字で始まってはいけません。両方とも許可されています。
変数名は短くても意味があります。変数名の選択はニーモニックである必要があります。つまり、カジュアルなオブザーバーにその使用意図を示すように設計されています。一時的な「スローアウェイ」を除き、1文字の変数名は使用しないでください。変数。一時変数の一般名は、整数のi、j、k、m、およびnです。文字のc、d、およびe。
一部の例には次が含まれます
int i;
char c;
float myWidth;
Einar Hoestによる" Java Programmers Phrasebook" があります。
彼はメソッド名の文法構造とメソッド本体の構造を分析し、次のような情報を収集しました
add- [noun]-* これらのメソッドには多くの場合、パラメーターがあり、オブジェクトを作成します。 フィールド値を返すことはほとんどありません。 フレーズは実質的にすべてに表示されます アプリケーション。
etcetera ...数百のオープンソースプロジェクトから収集。
背景情報の詳細については、彼の SLE08を参照してください。紙。