6

フォボスのソースを見始めたところですが、いくつかの異なるスタイルとコメントアウトされたコードが散らばっています。

Web 側のスタイル ガイドは非常に小さく、2006 年の壊れたリンクと 2004 年の別のリンクしか見つかりませんでした...

より新しい、より包括的なガイドはありますか?

PS: もともと D.learn ニュースグループで質問されたのですが、何も答えが得られなかったので、暗闇でのショットかもしれませんが、ここで試してみようと思いました

4

2 に答える 2

5

存在するガイドはすべて時代遅れであり、もう存在すべきではありません。私は、有効と見なされる D スタイル ガイドが存在するとは信じていません。また、Walter Bright や Andrei Alexandrescu などが存在することを望んでいるとは思いません。また、思い出したように、C++ Coding Standards: 101 Rules, Guidelines, and Best Practices、Herb Sutter と Andrei は、スタイル ガイドは悪い考えだと言いました (少なくとも、本当に具体的なものはそうでした)。したがって、Phobos (Andrei が担当) に何らかのスタイル ガイドがあるとは思えません。私は確かに何も知りません。Phobos に入るコードをフォーマットするための何らかのガイドラインがあるかもしれません (コードをモジュールの残りの部分と似たものにするなど) が、Andrei のような誰かや他の Phobos 開発者の 1 人がそれに答える必要があります。確かに、約 15 人の異なる開発者が Phobos に取り組んでいるため、強制的なスタイル ガイドがなければ、コードでいくつかの異なるスタイルを取得することになります。

したがって、D と Phobos のいずれにも推奨されるコーディング スタイルがあるとは思えません。私が理解しているように、D の背後にいる主な人々は特にスタイル ガイドを支持しているわけではありません。ですから、今のところ実際にはありませんし、将来もあるとは思っていません。

編集:さて、私は行って、 Herb Sutter と Anderi Alexandrescu がC++ Coding Standards: 101 Rules, Guidelines, and Best Practices で言ったことを正確に調べました。彼らがコーディング標準に反対しているわけではなく、個人的な好みや時代遅れの慣行を強制する特に制限的なものに反対している. ここですべてを引用するつもりはありませんが (良い本なので、いずれにせよ手に取ったほうがよいでしょう)、重要な点をいくつか挙げておきます。

  • インデントの量は指定しませんが、構造を示すためにインデントを行います。
  • 特定の行の長さを強制するのではなく、読みやすい行の長さを維持してください。
  • 命名を過度に規制しないでください。ただし、一貫した命名規則を使用してください。
  • コメント スタイルを規定しないでください (ツールが特定のスタイルをドキュメントに抽出する場合を除く) が、有用なコメントを記述します。

彼らが挙げたいくつかの例は、

  • ブレースの配置は重要ではありませんが、一貫性があり読みやすいものにする必要があります。
  • スペースとタブでは、コーディング標準がそれについて何か言っているかどうか気にしていないようです。
  • 彼らは C++ でのハンガリー語表記に反対していますが、型安全性の低い言語では価値があると考えています。
  • 彼らは、関数内に単一の return ステートメントがあることを強制することに完全に反対しています。

いずれにせよ、彼らは、ソース ファイル内でフォーマットが一貫しているべきだと考えています。明らかにフォボスはこの時点で必ずしもそれに固執しているわけではありませんが、アンドレイはニュースグループで、通常保持されているいくつかの慣習を持ち出し、それらのいくつかを強制することを検討していました (実際の投稿はここにアーカイブされています)。

ただし、Phobos はオープン ソースであり、誰でも自由にパッチを提出できますが、それは一般消費を目的とした API であることを忘れないでください。Phobos 開発者だけがコードを見る必要があります (少なくともドキュメントが適切に完成している場合) - 確かに彼らだけが直接作業する予定です - したがって、公にリストされたコーディング標準は必要ありません。彼らが1つを使用する場合。彼らはより一貫性を保つことができ、それに取り組んでいるように見えますが、サードパーティにとっては読みやすくするだけです. 他の誰も、標準が実際に何であるかを実際に知る必要はありません (ただし、標準に準拠した十分なコードを見れば、少なくとも標準が何を言っているのかを理解することができます)。

D全般に関しては、良い習慣と見なされる特定の規則 (実際に型を指定する必要がない限り、型を指定する代わりに一般的に使用するなど)autoがありますが、C++ と同様に、任意のコーディング スタイルでコーディングできます。 D 開発者は、D コミュニティ全体にスタイルを適用しようとするほど独裁的ではありません。

于 2010-08-13T20:29:45.647 に答える
3

状況が十分に変化したため、この質問に再回答する必要があると思います。現在の D スタイル ガイドはこちらで見ることができ、最新のものになっています。書式設定に関するいくつかのルールがあります (例: タブなし、インデントの各レベルは 4 つのスペース)、ほとんどすべてのルールは命名規則に関するものです (例: 型名は PascalCase を使用することになっていますが、変数と関数はキャメルケースを使用することが想定されています)。 )。したがって、焦点は、コードをどのようにフォーマットするかではなく、API がどのように見えるかです。以前の回答で詳述したように、Phobos の開発者が D 全体の公式の書式設定スタイルを強制しようとすることは決してありません。現状では、公式のスタイル ガイドの命名規則にも従わない D プログラマーがたくさんいます。

提出者が従うべきスタイルをより明確にし、コードのフォーマットに関する議論を避けるために、将来、より制限的なフォーマットのガイドラインが Phobos 自体に適用される可能性があります (議論されていますが、実行されたことはありません)。 github に移行し、サブミッターの数が大幅に増加して以来、問題の一部となっています) が、現時点では、主に、モジュール内のコードが一貫してフォーマットされていることを確認することになります。しかし、Phobos に対してより制限的なフォーマット規則が義務付けられたとしても、それは Phobos に固有のものであり、D コミュニティ全体のためのものではありません。また、コミュニティ全体のフォーマット標準が機能するようにコードをフォーマットする方法については、あまりにも多くの異なる意見があります。

于 2013-09-19T08:50:21.810 に答える