2

I've been reading code complete, not far in yet but one of the things it talks about is PDL - a higher level design language, which you write each routine in before coding in the language of choice.

I wondered if anyone actually did this in real life? Another thing it says is to leave each line of PDL in the code as comments. Surely that is overly verbose commenting?

I've never used PDL in real life, apart from perhaps something similar called ISWIM for a university class but I've never used it when writing my own code.

Surely if you write every routine/method/whatever in pseudo code first you will end up wasting a lot of time?

4

5 に答える 5

1

1980 年代に防衛で働いていたときに使用しました。PDL は、1 人から 1000 行のコードのソロ プログラマーの週末プロジェクトには過剰です。しかし、10k ~ 100k 行のコード システムを数十人のソフトウェア エンジニアのチームで開発している場合は、ウォーターフォール手法で予備的なソフトウェア設計を定義するのに最適です。また、MIL-STD ソフトウェア開発要件に準拠するように設計されています。

于 2016-05-26T22:05:19.270 に答える
1

最初に疑似コードですべてのルーチン/メソッド/その他を記述すると、多くの時間を無駄にすることになりますか?

まったくありません。事前に何をするかを計画すると、時間を節約できます。これにより、最も簡単な段階 (つまり、実際に何かを行う前) で物事を熟考し、リファクタリングすることが強制されます。

各ルーチンを完全に記述する必要はありません。重要なステップだけを記述すれば、各部分が何を行うか、必要なすべての計画が立てられているかどうかを十分に把握できます。


PDL ( Program Design Language ?) について具体的に聞いたことはありませんが、それを見てみると、言葉が多く、醜く、労力がかかりすぎるように見えます。使用することはお勧めしません。簡潔で読みやすいものに固執してください。擬似コード。

于 2009-01-27T23:14:09.447 に答える
0

擬似コードで物事を書くことは非常に便利であり、あなたはすでに書かれたドキュメントになってしまいます;-)。それはあなたの意図をあなたの実装から切り離します、それは多くの場合あなたの言語や環境に特有の最適化されたハックです。将来のメンテナや、コードをリファクタリングしたり、他の言語に翻訳したりする人々は、その擬似コードをドキュメントに保持するときに非常に感謝します。また、PerlのPDLはPerl Data Languageを意味するため、PDLを呼び出したことはありません。これは、Rのように、大きなデータセットをベクトルまたは行列として処理するための非常に便利なパッケージです。

于 2010-12-14T16:16:07.763 に答える
0

はい、そうです。本を読むまでPDLとは知りませんでした。私はそれを疑似コードと呼びました。疑似コードと PDL の違いは大きくありません。PDL は、実際には大したことではないターゲット言語の構成要素の使用を回避します。

ルーチンが簡単でない場合は、PDL から始めます。

ところで、McConnell は Code Complete の第 2 版で PDL の代わりに疑似コードという単語を使用しています。

于 2009-10-02T20:04:12.567 に答える
0

大学 1 年生のときにソフトウェア エンジニアリングの学位を取得していたとき、講師の 1 人が、学生が何らかの疑似コードを試みたことがなければ、学生を助けることを拒否したことを覚えています。

多くの人がそれについて不平を言っていましたが、私が彼から習得したスキルは、ソフトウェアの設計中にほとんどの時間使用していることに気づきました。コーディング中は常にパッドとペンを隣に置いています。:)

于 2009-06-01T19:04:35.047 に答える