关于语言不可知:PDL如何在实际编程中使用?

How is PDL used in real-world programming?

我一直在阅读完整的代码,虽然还不远,但它所说的内容之一是PDL——一种更高级的设计语言,在用所选语言编码之前,您可以用它编写每个例程。

我想知道在现实生活中是否有人这样做过?另一件事是把代码中的每一行PDL作为注释。这肯定是过于冗长的评论?

我在现实生活中从未使用过PDL,除了大学课堂上类似的ISWIM之外,但我在编写自己的代码时从未使用过它。

当然,如果你先用伪代码编写每一个程序/方法/任何东西,你会浪费很多时间吗?


上世纪80年代我在国防部工作时就用过。PDL对于一个单独的程序员周末的1-1000行代码项目来说是多余的。但是,如果您正与一个由十几个软件工程师组成的团队开发一个10-10万行的代码系统,那么在瀑布方法中定义初步的软件设计是非常好的。此外,它的设计符合mil-std软件开发需求。


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

一点也不-事先计划好要做的事情可以节省时间。它强制您在最简单的阶段(即,在您真正做任何事情之前)进行思考和重构。

你不必完整地写下每一个程序——仅仅是关键步骤,给你足够的一张关于每一部分将要做什么,以及你是否已经为你需要的每一件事做好了计划的心理地图。

< BR>我从来没有听说过PDL(程序设计语言?)特别是,在看了它之后,它看起来确实很冗长,丑陋,而且太费劲了,我不建议使用它——坚持使用简洁但易读的伪代码。


用伪代码写东西是非常有用的,最后你会得到已经写过的文档;-)。它将使您的意图与实现脱钩,很多时候这是针对您的语言或环境的一个优化的黑客。当您在文档中保留伪代码时,将来的维护人员或重构代码或翻译成其他语言的人员将非常感谢您。我从未称之为PDL,也因为Perl中的PDL意味着Perl数据语言,这是一个非常有用的包,可以像R中的向量或矩阵那样处理大型数据集。


是的,我喜欢。不过,直到我读了这本书,我才意识到它被称为PDL。我称之为伪代码。伪代码和PDL之间的差别不大——PDL避免使用目标语言构造,这在实践中不是什么大问题。

如果例程小于琐碎,我从PDL开始。

顺便说一句,麦康奈尔在第二版代码完整版中使用了单词伪代码而不是pdl。


我记得我在大学一年级的软件工程学位上的一位讲师拒绝帮助学生,如果他们至少没有尝试过某种伪代码的话。

很多人过去常常抱怨这一点,但我从他那里学到的一种技能,我发现自己在设计软件时大部分时间都在使用它。编码时,我身边总是有一个便笺簿和一支笔!:)