Cベースのコードライブラリ/ APIの一部であるファイルと関数の名前を付ける正しい方法は何ですか?Cライブラリコードの正しい命名規則
答えて
何でき(ただしすべき)を行うには、完全に不注意なこととは全く体系的な命名規則を使用していないです。これは「効果がありますが、あなたの顧客にとっては人生を不快にします。彼らは自分のプログラムでどの名前を使うことができるのかを簡単に知る方法がありません。 (私はerror()
と呼ばれていた文書化されていない関数を定義したライブラリを見つけました。その名前は外部のドキュメント化された名前空間と一致しませんでした。 - それは今ではerr_error()
ですが、それはそのライブラリで私自身の標準エラー報告機能を使用できないことを意味しました。 )
だから、あなたはそうであってはいけません。あなたが暴露する名前には注意が必要です。
あなたのパブリックヘッダは、文書化された1つ(またはごくわずか)の体系的なプレフィックスを使用する必要があります。通常、PFXなどのプレフィックスを選択して使用します。
- 列挙定数開始
PFX_
。 - マクロ開始
PFX_
。 - 機能開始
pfx_
。 - グローバル変数(それらのどれも持っていません)は、
pfx_
を開始します。 - タイプ名と構造体またはユニオンタグの開始
pfx_
。 再び自分のソースファイルの外に表示されているあなたのプライベート変数や関数は、体系的な接頭辞を持って
- (おそらく
pfx_
、または多分pfxp_
プライベート名はキャメルケースですが、で始まるように、最後のp
はpfx[A-Z]
プライベート、またはおそらくのためですpfx
)。
厳密にファイルスコープ(外部リンケージなし)である変数または関数のみがこれらの規則に制約されませんが、その場合でも命名規則を使用することをお勧めします(関数が2つ後でファイルを追加する場合は、関数が以前のstatic
だったコードで呼び出しを修正する必要はありません。
このようにして、PFX_
またはpfx_
から始まる名前は、あなたのライブラリによって予約されています。ユーザーは、同じプレフィックスの名前を使用することはできますが、ライブラリにアップグレードすると予約された名前が追加される可能性があるため、自己の責任においてこのプレフィックスを使用することはできません。彼らはあなたがそれらを文書化したので、そして(比較的)理解しやすいので、あなたの名前をはっきりと把握することができます。
C標準とPOSIX標準では、両方とも予約名の規則が定められていることに注意してください。しかし、予約されたPOSIXとCの名前の規則は、単なる接頭辞よりもはるかに複雑です。彼らはまた掃除している。たとえば、POSIXヘッダーが含まれている場合、タイプ名として使用するために、POSIXはすべて_t
で終わる名前を予約します。
のごまかしです。 objcの標準をかなり置き換えるなど、objcのASIWebPageRequestメソッドがcのasi_web_page_requestになる可能性があります。 – user773578
@ user773578 ASIWebPageRequestはメソッドではなくクラスです。 –
これらの一般的な行に沿って、はい。古典的には(C標準を参照)、関数名は小文字です。マクロは大文字である傾向があります。タイプは主に小文字などです。最も重要なことは、一連のルールを定義し、一貫して適用することです。オブジェクトファイル内の定義されたシンボルを識別するために 'nm'を使用し、それらがあなたのルールを満たしていることを確認する程度までです。人々はしばしばそれをしませんが、一貫したルールなしにライブラリを使用することはより困難です。 –
- 1. C#プロジェクトの命名規則
- 2. Cの命名規則
- 3. 命名規則
- 4. 命名規則
- 5. ビットマスクパラメータ命名規則?
- 6. serialVersionUID命名規則
- 7. JPasswordField命名規則
- 8. インテントキー命名規則
- 9. BEM:命名規則
- 10. Rails、命名規則
- 11. C++:構造体の命名規則
- 12. 目的C - Name + Name.m命名規則
- 13. Objective-C命名規則 - 明確化
- 14. Dynamics Nav C/AL命名規則
- 15. 新しいiOSデバイスの命名規則
- 16. ウェブサイトの命名規則
- 17. ベースファイルの命名規則
- 18. ベースコントローラーの命名規則
- 19. リポジトリの命名規則
- 20. Androidリソースの命名規則
- 21. モジュラーアプリケーションのデータベーステーブル命名規則
- 22. SQL命名規則のアドバイス
- 23. ローカルパラメータラベルの命名規則
- 24. プロパティの命名規則
- 25. cssメニューの命名規則
- 26. Facebookスタイルの命名規則
- 27. Eclipseプロジェクトの命名規則
- 28. フライウェイマイグレーションの命名規則
- 29. Javabeanの命名規則
- 30. フィルタの命名規則
さて、Cではメソッドがないので、心配することは1つ少なくなります。キッド。いくつかのオープンソースのCライブラリを見て、一番好きなものを選んでください。スタイルに関しては、コーディングスタイルに関してそのようなものがある場合は、_correct_よりも一貫性がある方がはるかに優れています。 – C2H5OH
ファイル名はファイルシステムの規則に従う必要があります。 Cの関数名は、数字以外の文字で始まり、有効な識別子を構成する文字のみで構成されていなければなりません。 –
基本的には、コーディング標準の推奨事項を求めています。それは本当に味の問題です。いずれにしても、これはhttp://stackoverflow.com/a/1262992/445525 –