2009-05-12 20 views
3

擬似コードが有益であるかどうかについて議論を呼びかけたくはありません。そこにはたくさんの質問があります。私は擬似コードを書くのが便利だと思っていますが、それを表現するにはどうしたらよいでしょうか?擬似コードの作成 - ベストプラクティス?

時々私は番号付きのアプローチで終わることがありますが、それ以外の時間にはCスタイルの構文を使用しますが、ほとんどの場合、それは私が思うものがその時点で最もよく混じっています。それはうまいですが、6ヶ月後にもう一度見直すようになったとき、その意図が何であるかは必ずしも明確ではありません!私は最近、ページを2つに分けて、右半分を下ろし始めました。ピジン[ここに言語を挿入]を書いて、左下には本当に明白で冗長な英語で書くでしょう。

擬似コードを書くための「標準」がないとは思っていませんが、私は他の人がそれをどうやって使うのか興味を持っています。

ありがとうございます。

ああ、私はこの質問が主観的であることを知っています。それはそれがSOの意図された目的ではない場合は申し訳ありませんが、依然として有効な質問です。実際、1つの正解を持つコンピューティングには本当に多くの質問がありますか?私は最も役に立つ答えを正しいものとしてマークします。

答えて

5

私は自分自身がインデントを使ってメモ帳に小さなユースケースを書いているのに気づく傾向があります...そして半ダース以上の後に、私は突然、本質的にはPythonのスタイルで書いています。だから私は結論に達しました。Pythonは実際には疑似コードであり、どの言語でもあなたの思考をプロトタイプ化する素晴らしい方法です。実際にはに書き込もうとしています。このテクニックについての最も良い点は、あなたの完成した結果を厄介なバグの場合と比較することができます。

UML sequence diagramは、何が起こる必要があるかをマップするために精神的な練習として書くよりも速い場合がありますが、その2つのテクニックは私が何度も時とともに戻ってくるものです。

+0

シーケンスダイアグラムの呼び出しがいいです。私は正式なドキュメントのためにそれらを使用しています。 Pythonを使用すると、私は自分の胃に病気になります。それは、コースの完全に有効な言語であり、特にプロトタイプ化のためのものです。私は文法が好きではありませんでした。 – Stimul8d

+0

好奇心に欠けて、Pythonにはどんなものがありますか? –

+1

私はこの「良い擬似コードはPythonです」というマントラが好きです。 –

1

私は英語で書くか、プログラミング言語の表現を混ぜて始めます。 その後、私は段階的に英語をプログラミング言語の表現に置き換え、英語の言葉をコメントとして残してから、voila - 私はテスト機能を持っているので、擬似コード+ TDDのようなアプローチを取り入れています。 私は難しい作業を解決しなければならないときや、些細なクラスではなく新しいものを設計しなければならないときに、このアプローチを常に使用しないことを言及しなければならない。

3

私は、彼の本「コードコンプリート」に擬似コードを書くことについてSteve McConnellの章が好きです。私はあなたがそれを所有していない場合、この答えが満足できないかもしれないことを知っていますが、あなたがしなければ、本自体はとにかく持っている必要があります。

+0

ました。それは私がそれらを読む時間です! – Stimul8d

+0

はい、あなたは本当にすべきです、あなたはあなたが喜んでいるでしょう! :)それは私が擬似コードについて学んだ方法ですが、実際に詳細に分かれるいくつかのチュートリアルは見つかりませんでした。 – Razzie

+0

あなたはamazon [http://www.amazon.com/Code-Complete-Practical-Handbook-Construction/dp/0735619670]から本を手に入れることができます。 –

1

私は、一般的にどんな種類のコード言語も避け、プログラムの任意の時点で何をしたいかについてのコメントを書いています。コメントがすべて完了したら、それは空白を埋めることです。

+0

私はこのルートを何度かダウンしましたが、OO言語では、必要なものすべてがあなたが書いているオブジェクトに利用可能でない限り、プロセス全体の連続的な流れに終わらないときがあります。それが意味があれば! – Stimul8d

1

また、擬似コードも便利です。あなたの2ページのアプローチは良いと思います。また、LiterateProgrammingを調べることもできます。私はしばしばプログラムとして私の思考をレイアウトするLPスタイルを使用しますが、私は一般的にLPツールを使用しません。

+0

うーん、前にこれを見かけることはない。しかし確かに見る価値がある。ありがとう。 – Stimul8d

1

私は一度も擬似コードを使用したことがなく、これを行う必要がないと感じました。あなたが使用している言語が何であっても、リファクタリングする時間を捧げると、コードはきれいになると思います。

私は私はいくつかの理由のためにあまりにも怠惰な、あるいは単にそれに反対だと思ったが、その後、私はそれがためにですので、実用的なプログラマーと一緒に、それを読ん程度やったことがなかったothers think the same

+0

私はあなたのポイントを理解することができますが、私は擬似コードを「クリーン」と書くのではなく、私が始める前に私の頭の中にコンセプト/アルゴリズムがあることを確かめるために書いています。 また、リファクタリングの予算にかかわらず、何らかのデザインを前もって準備していない限り、必要なリファクタリングの量はわかりません。プロジェクトでは90%しか得られません早く何かを見逃してしまい、あなたは潜在的に正方形に戻ります! コースのための馬しかし。私は擬似コードのない多くのソフトウェアを書いています。複雑なことがどのようになるかによって異なります。 – Stimul8d