2016-04-04 3 views
1

私はいくつかの初心者向けプログラミングチュートリアルに取り組んでおり、関係する多くのモジュールと関数、その目的(抽象的)、およびそれらの相互関係を把握するのが難しいと感じています。私は鳥瞰図からすべてを見て、コードをよりエレガントに再構成してリファクタリングする方法をよりよく想像したいと思っています。プログラム/プロジェクトの構造を視覚化するための具体的なツールや方法はありますか?

専門家がこの複雑さを管理するために使用する特殊なツール(ホワイトボードとマーカー以外)はありますか?プログラマーはメンタルモデルに頼っているだけですか?プロフェッショナルはLucidchartのようなフローチャートソフトウェアをこの種のものに使用していますか?

答えて

3

Structure Chartsは、70年代半ば以降です。 Data Flow Diagrams、リーフレベル-1のみを行う場合は、構造化(非OO)にも便利です。非OOを行う場合、あなたの方法を見てください。また、イベント分割の基礎としてEssential Systems Analysisを参照してください。まだ使用されているさまざまなCASEツールがあります。

あなたがOOをやっているなら、UMLはうまくいくことができ、何年も前からありました。人が "diagram-happy"にならなければ、UMLはうまく動作します。

データ関係のERDがあります。

グラフィックモデリングツールは、一般プログラマーの人口に約18%以上浸透していません。私は、開発者のための適切なトレーニングが不足していること、マネジャー用のモデルを使ってプロジェクトを管理する上での適切なトレーニングが不十分であること、CASEツールベンダーが過度に約束/不足していることが原因だと考えています。私は大学の構造図でグラフィカルツールを使い始めました。私は常に、プロの開発者がどのように相互関係や依存関係の視覚的モデルのない大きなプログラムを書くことができるかに驚いています。 彼らはどのようにすべてを覚えていますか?彼らはプロジェクトに参加したときにどのように新しい人々をスピードアップさせるのでしょうか?

ご質問いただいた方は、少数派であるようです。私はそれが「ツールのもの」だとは思わない。私はいくつかの開発者が "より抽象度の高い"視覚化を望んでいると思いますが、そうでない人もいます。

1

私は大ファンではありませんが、常にUMLです。

また、あなたが話している言語でタグ付けしていません。

.Netの場合、Visual Studioは実際にはauto-generate codeです。

また、similar post on Quoraを確認することもできます。

+0

すごく速かった。私はツールが異なる言語の間で違うだろうということは私には起こっていないと思います。一定!ありがとう。 –

+0

あなたが答えが好きなら、同意してください。 – Patrick

+0

Railsにはさまざまなツールがありますが、そのうちの1つはhttp://railroad.rubyforge.org/ですが、これらは一般的には答えの中のいくつかのツールを使って作成するほど役に立ちません。 – Patrick