GitHubじゃ!Pythonじゃ!

GitHubからPython関係の優良リポジトリを探したかったのじゃー、でも英語は出来ないから日本語で読むのじゃー、英語社会世知辛いのじゃー

isocpp

CppCoreGuidelines – C ++コアガイドラインは、C ++でコーディングするための ガイドライン、ルール、ベストプラクティスのセット

投稿日:

C ++コアガイドラインは、C ++でコーディングするための 実証済みの ガイドライン、ルール、ベストプラクティスのセットです 。http://isocpp.github.io/CppCoreGuidel…

「C ++の中では、より小さく、より簡単で安全な言語の苦労があります。 – Bjarne Stroustrup

C ++のコアガイドラインは、Bjarne Stroustrupが率いる共同作業であり、C ++言語のようなものです。 それらは、数多くの組織にわたる数多くの年次の議論とデザインの結果です。 彼らの設計は一般的な適用性と幅広い採用を奨励しますが、組織のニーズを満たすために自由にコピーして変更することができます。

入門

ガイドライン自体はCppCoreGuidelinesにあります。 ドキュメントはGH風のMarkDownにあります。 言語翻訳や再フォーマットなどの自動後処理を可能にするために、主にASCII形式で単純に保持されます。 エディタは、閲覧用にフォーマットされた 1つのバージョンを維持します これは手動で統合されており、マスターブランチのバージョンよりも若干古いことに注意してください。

ガイドラインは厳密な「リリース」のリズムのない絶え間なく進化している文書です。 Bjarne Stroustrupは定期的に文書をレビューし、導入時のバージョン番号を増分します。 バージョン番号をインクリメントするチェックインはgitでタグ付けされます。

ガイドラインの多くはヘッダーのみのガイドラインサポートライブラリを使用しています。 1つの実装はGSL:Guideline Support Libraryで利用できます。

背景と範囲

このガイドラインの目的は、人々が最新のC ++を効果的に使用できるようにすることです。 「現代のC ++」とは、C ++ 11とC ++ 14(そしてまもなくC ++ 17)を意味します。 言い換えれば、あなたが今始めることができれば、あなたのコードは5年後のように見えますか? 10年後?

このガイドラインは、インターフェイス、リソース管理、メモリ管理、並行処理などの比較的高レベルの問題に焦点を当てています。 このような規則は、アプリケーションのアーキテクチャとライブラリの設計に影響します。 この規則に従うと、静的に型が安全で、リソースリークがなく、今日のコードで一般的であるよりも多くのプログラミングロジックエラーが発生します。 そしてそれは速く走ります – あなたは正しいことをする余裕があります。

私たちは、命名規則やインデントスタイルなどの低レベルの問題にあまり関心がありません。 しかし、プログラマを助けることができる話題はどこからもありません。

私たちの最初のルールセットは、(さまざまな形の)安全性とシンプルさを強調しています。 彼らは非常に厳しいかもしれません。 現実のニーズをよりよく満たすために、より多くの例外を導入しなければならないと予想しています。 さらにルールが必要です。

あなたはあなたの期待に反して、あるいはあなたの経験に反する規則のいくつかを見つけるでしょう。 あなたが何らかの方法でコーディングスタイルを変更することを提案していない場合、私たちは失敗しました! ルールを確認または反駁しようとしてください! 特に、私たちはいくつかのルールを測定値やより良い例でバックアップしたいと思っています。

ルールのいくつかは明白であるか、または自明であることがわかります。 ガイドラインの目的の1つは、経験の少ない人や、異なる背景や言語から来て、スピードアップする人を助けることです。

このルールは、分析ツールによってサポートされるように設計されています。 ルールの違反には、関連ルールへの参照(またはリンク)が表示されます。 コードを書く前にすべてのルールを覚えているとは限りません。

ルールは、コードベースへの段階的な導入を目的としています。 私たちはそのための道具を作り、他の人たちもそうしたいと考えています。

寄稿とライセンス

改善のためのコメントや提案は大歓迎です。 われわれの理解が向上し、言語と使用可能なライブラリのセットが改善されるにつれて、この文書を修正し、拡張する予定です。 詳細は、 寄稿ライセンスにあります。







-isocpp

執筆者:

関連記事

関連記事はありませんでした