web-dev-qa-db-ja.com

C ++初心者のための良いワークフローとは何ですか?

私はもっ​​と真剣な科学的なC++プログラマーになりたいと思っています。そのためには、一貫したスタイルのワークフロー(コーディング、テスト駆動開発など)が必要です。私の質問は、単純にどのようなワークフローを考慮すべきかということです。 LinuxとMacに精通していて、cppcheck、valgrind、g ++などの無料ツールを使用したい。プログラミングツールボックス内でQtとBoostを使用したい。 TDD。通常、エディターにはvimを使用します。

本質的に、私は次のようなことをすべきですか?

TDD->コード-> cppcheck-> valgrind->デバッグ->プロファイラーとカバレッジメカニズムを使用する準備ができるまで繰り返す

または、私は他の方法を追求すべきですか?意見が変化することを理解しています。また、コーディングを行う前に、最初に時間をかけてプロセスについて考え、自分の考えを文書化したのかUML文書化したのかを理解する必要があることも理解しています。コード。

あらゆる考えが評価されます。

4
Tim

最初にC++アノテーションを読んでください。無料でオンラインです。

正直なところ、TDDから始めるのがベストだとは思いません。 TDDは、その真の価値を理解した後は本当にクールです。そして、それを行うには、苦労するデバッグの共有が必要だと思います。

したがって、最初に、ランダムなプログラムをC++で実装することもできます。ただ化粧ゲームなどをしたり、物事をやりたいと思っている人を見つけてください。実装を真剣に考えてください。

次に、プログラミングが本当に上手だと思ったら(この時点でのプログラミングは、おそらく「最終的に-魔法のように-非常に複雑なこと」を行うことを意味します)、テストに関する本をいくつか読んでください。テストに関するGoogleTechTalksをご覧ください。

あなたが覚えておくべき良い作家:ロバートC.マーティン、マイケルフェザーズ、マーティンファウラー、ケントベック。次に、GoogleのMisko Heveryによるクリーンでテスト可能なコードに関するいくつかのビデオを検索します。

4
Yam Marcovic

何かを忘れて…考えてプログラマーは十分に考えていません。

考える->設計-> TDD->コード->もう一度考える-> cppcheck-> valgrind->デバッグ->プロファイラーとカバレッジメカニズムを使用する準備ができるまで繰り返す->もう少し考える

6
user34964

C++プログラミングの推測&チェックトラップに陥らないでください。つまり、何が起こっているのか理解せずに、タイトな編集->コンパイル(エラーを取得)->編集ループに入らないでください。

アンパサンドを追加したり、括弧を削除したりしてコンパイラエラー/警告が修正される理由がわからない場合は、時間をかけて理解してください。

C++の特異性を理解するための優れたリソース: http://www.parashift.com/c++-faq/

2
goldsz