それについて何も知らない開発者に疑似コードを説明するための最良のプラットフォームは何ですか?[閉まっている]


8

私は科学者であり、開発者に理解して別の言語でプログラミングするために、複雑なMatlabコードを文書化する必要があります。過去には、MS Word(プログラムの各ステップを表の新しい行として説明する)を使用してからExcelを使用しましたが、Matlabコードの表示や明確で簡潔なコメントの入力には特に適していませんでしたそれを文書化する方法。

疑似コードを開発者に伝えるためのより良い手法があるかどうか疑問に思っています。既存のソフトウェア(無料?)または他のプラットフォーム(例:TextWrangler)は、コードとその説明方法を提供するのに特に適していますか?同じことをしている他の人の経験から学びたいと思っています。前もって感謝します。

コメントを読んだ後、さらに説明してみましょう...私はすべての開発者が疑似コードを知っていると思いますが、多くの人がMatlabコードを知っているとは思いません。したがって、疑似コードで記述した場合、Matlabコードを無視できます(または参照用に提供するなど)。しかし、私の質問は本当に単純です...コードを開発者に明確に伝えるために人々が過去に使用したソフトウェアまたはプラットフォームはありますか?ドキュメントを作成する人がコードを簡単に説明できるようにするものはありますか?たとえば、ソフトウェアの色分けしたコード(コメントの1色、予約語(if、then、else、forなど)など)を埋め込むことができ、片側には説明を入力する余地があります参考文献など、MS製品を使用してこれを試しましたが、同じことをする必要がある人々の業界があるので、


1
この質問の言葉遣いが間違っているのか、それとも誤解しているのだろうか。開発者はどのようにして疑似コードが何であるか理解できませんか?プログラムのしくみに関する高レベルのドキュメントについて話しているのですか?
Daenyth、2011年

4
なぜ開発者に疑似コードを与えるのですか?それらにMatlabコードを与えて、それらをそれらに変換させてみませんか?まともな開発者は、Matlabを学び、プログラムのしくみを理解できるはずです。
FrustratedWithFormsDesigner

1
彼はMatLABについて何も知らない開発者について説明していると思います。MatLABは非常にニッチなプログラミング言語であるため、それも理解できます。OPが求めていると思うのは、「MATLABをまったく知らない人が簡単に移行してコードを別のプログラミング言語に変換できる移行を容易にする実証済みのシステム/プロセス/手順を知っていますか? 」しかし、それから、それは私だけです、私は間違っているかもしれません!
Andrea Raimondi

1
言葉がふさわしいはずです。あなたが取ることができる2つのアプローチがあります。ページを横向きにして、MATLABコードを左側に、注釈を右側に表示します。または、ポートレートで、コードと説明を切り替えます。
GEL

1
私が開発者だった場合、それが%コメントを開始することを知りたいので、Matlabコードに説明コメントを追加したいと思います。そして、私にとって意味のないことについての質問に戻りましょう。それはすべての周りで最も簡単でしょう。
btilly 2011年

回答:


4

MATLABコードをms-wordに入れます。役立つ場合は、フォントをクーリエ(モノスペース)に変更します

各行を強調表示し、コメントの挿入(単語2010の[レビュー]タブの下)を使用して説明を入力します

開発者も同じことができます。言葉はあなたごとに異なるコメントボックスになります


スティーブンのおかげで、これは私が見たかった回答のタイプです。私はこれを実際に行うことを考えましたが、プログラマー(実際には私自身ではない)のために、そのようなタスクに専用のいくつかの代替方法があることを望みました。ありがとう
gkdsp

@gkdsp:おそらくありますが、プロジェクトに入札する全員がms-wordを使用する可能性があります
Steven A. Lowe

4
@Stephen A. Lowe:Linux / Macの人として、私がms-wordを持っていると人々が思うとき、私はそれを嫌います。
btilly '06年

@btilly:ほとんどの人がそうします。あなたがそうしない哲学的または道徳的な理由がない限り、あなたも同様にすべきです。さもなければ、あなたは自分自身と(潜在的に)他人のために不必要に問題を引き起こしています。
リチャード

2
@btilly:オープンオフィスになって、意地悪をやめなさい;-)
Steven A. Lowe

2

Matlabに既に精通しているコーダーを雇いたい。誰にとっても痛みが少ない。ソフトウェア開発に携わる元数学者がたくさんいます:-)


2
+1:あなたが持っている開発者がMatlabを学ぶ気がないなら、より良い開発者を見つけてください。その上、もし彼がMatlabを学ぶ気がないなら、彼は翻訳でどれだけうまくできるでしょうか?
kevin cline

私は間違いなく、Matlabをすでに知っている人を見つけて第二言語を学ぶようにする方が、その逆の方がはるかに簡単だと思います。(2番目の言語がさらに曖昧で習得が困難な場合を
除き

1

ホワイトボード!

MATLABの構文は、「通常の」手続き型言語(〜= for not equals !!!!?)に比べるとかなり遠くにあるため、コードのすべての行をドキュメント化してもあまり役に立ちません(1行の行列変換多くの場合、MATLABは数百行のCコードに変換されます。

手元にあるコード(またはそのプリントアウト)を備えたラップトップを備えたホワイトボードの前で、開発者と一緒にプログラムの機能の要点に目を通していく時間を費やしてみませんか。そうすれば、MATLAB構文ではなく、プログラム自体の理解しにくいビットにとらわれることができます。

本当に、彼らがそれを別の言語に翻訳することを期待しているだけなら、とにかくMATLABがその処理を行う方法の内外を知られたくないので、MATLABはおそらく他の言語にうまく翻訳されません。行列の操作に非常に特化しています。実際には、行列Aに製品Bを乗算し、出力に対してXを実行する必要があることを知っておく必要があります。


私はエドに同意します。コードの1つのMatlab行は、別の言語ではさらに多くのことになる可能性があります。そのため、Matlabプログラムを提供するだけでは十分ではないと思います。ホワイトボードに関しては、同じ都市/州/国にいる必要がありますが、これは通常は不可能です。また、企業がプロジェクトに入札するためのドキュメントを生成しています。それを行うチームまたは個人を決定する前に、私が彼らに何をしてほしいかを説明する必要があります。
gkdsp 2011年

1
ちょっと、あなた。私はあなたや羨ましがる会社をうらやましくない。
ケビン

ああ、あなたは質問の物理的な近接性の欠如に気づかなかったので、申し訳ありませんがこれは素晴らしい適合ではありません。私は何度もMATLABと協力して、両方のもで開始するMATLABに精通してもよく、コードが実際にどのように精通している場合を除き私に関する限り、ソースコードが効果的に役に立たないの仕事持っていたんを。私は間違いなく、フローチャートなどのようなメッセージを伝えるためのある種の絵的な方法で行こうとするでしょう。おそらく(これを提案しているとは信じられません)一連のUMLアクティビティ図が適切でしょうか?
エドジェームス

1
正直に言うと、書式設定されたコード、テキスト、および画像が散在している場合は、おそらくLaTeXを選択してPDFにエクスポートします。LaTeXのWordよりも大きな利点は、実際にコードを適切に処理できることです(Wordを適切に動作させることができませんでした)。
エドジェームス

1
ホワイトボード+ビデオレコーダー


0

私は科学者であり、開発者に理解して別の言語でプログラミングするために、複雑なMatlabコードを文書化する必要があります。過去には、MS Word(プログラムの各ステップを表の新しい行として説明する)を使用してからExcelを使用しましたが、Matlabコードの表示や明確で簡潔なコメントの入力には特に適していませんでしたそれを文書化する方法。

ええと、Wordは機能する可能性があります...と思います。コードの異なる部分に異なるスタイルを定義します(緑色のコメント、...のコード)。これが実際にどれほど実用的かはわかりません。HTMLとしてエクスポートし、問題の開発者にサービスを提供することの何が問題になっていますか。問題が発生した場合や、MATLABがまだインストールされていない場合は、いつでもオンラインヘルプを使用できます。

コメントを読んだ後、さらに説明してみましょう...私はすべての開発者が疑似コードを知っていると思いますが、多くの人がMatlabコードを知っているとは思いません。したがって、疑似コードで記述した場合、Matlabコードを無視できます(または参照用に提供するなど)。

あなたはMATLABコードを翻訳していて、あなたは科学者だと言っているので、数学の方程式が1つの実行可能な代替手段であると考えることができます。

ただし、使用されるMATLAB関数がヘルプに記載されているものと異なる場合があります。途中で新しいコードを徹底的にテストします。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.