23

単純なOO機能(PHP 4)、または誤解されているOO機能(Javascript、関数ポインターを使用するCなど)を備えた多くの言語では、先頭のアンダースコアを使用して特権レベルを示す関数命名規則になります。

//ex.
function _myPrivateFunction(){
}   

個々のチームは常にこのような独自の命名規則を考え出しますが、アンダースコアの規則は非常に普及しているようで、私は興味をそそられました

  1. テクニックが最初に来た場所
  2. 大会の周りに開発された標準化されたシステム(ハンガリアン記法のようなもの)があった場合

純粋な好奇心を超えて、私は今扱っているいくつかのコードベースでこれを見ており、最初にそれを思いついた開発者の可能なヘッドスペースを理解したいと思います。

4

5 に答える 5

16

C ++の世界では、アンダースコアで始まるメンバー名は、コンパイラー(またはAPIのような低レベルのSTL)開発者が使用するために予約されています。コンパイラーによって禁止されているわけではありませんが、それが伝統です。

このwikiリンクは、アンダースコアについて非常に有益です。

于 2009-04-23T22:49:07.347 に答える
6

この慣習の起源はわかりません。私の推測では、ほとんどのプログラミング言語の識別子で許可されている英数字以外の文字はアンダースコアだけなので、プライベートメンバーのプレフィックスとしてアンダースコアを選択するのは自然なことです。

Pythonでは、名前の前にアンダースコアを付けることは単なる慣例ではありません。モジュールから「すべて」をインポートする場合、デフォルトではアンダースコアで始まる記号はインポートされないため、アンダースコアは「プライベート」/「内部使用法」を示します。

于 2009-04-23T22:50:16.347 に答える
3

アンダースコア(_)は、プライベート/保護された関数または変数を表します。

WHOが実際にそれを思いついたのかどうかはわかりませんが、Zend(およびZendコーディング標準)によって「サポート」されていることは知っています。

編集: http: //framework.zend.com/manual/en/coding-standard.naming-conventions.html

->セクションB.3.4->パラグラフ2

于 2009-04-24T09:38:17.443 に答える
0

私はC++をコーディングするときに最初にそれを見ました。「m_」プレフィックスでメンバー変数をマークすることは一般的に行われました。

私がJavaを書くとき、私はそれらのどれも使用しないことを好みます。「this」を使用してメンバー変数を明確にします。

于 2009-04-23T22:46:45.277 に答える
0

アンダースコアがプライベート関数として使用されているのを見てきましたし、アンダースコアがグローバル関数として使用されているのを見てきました。また、アンダースコアは、PHP自体のグローバル変数を示すために使用されます。

$_POST $_GET $_SESSION etc..

これは単なる命名規則なので、著者が近くにいるかどうかを尋ねます。

于 2009-04-24T09:46:42.820 に答える