Language agnostic PDL在现实编程中是如何使用的?

Language agnostic PDL在现实编程中是如何使用的?,language-agnostic,pseudocode,Language Agnostic,Pseudocode,我一直在阅读《完整的代码》,现在还不远,但其中一个内容是PDL——一种更高层次的设计语言,在使用所选语言编码之前,您可以使用它编写每个例程 我想知道在现实生活中是否有人真的这样做过?它说的另一件事是将代码中的每一行PDL保留为注释。这肯定是过于冗长的评论 我从未在现实生活中使用过PDL,除了在大学课堂上使用类似的称为ISWIM的东西之外,但我在编写自己的代码时从未使用过它 当然,如果你先用伪代码编写每一个例程/方法/任何东西,你会浪费很多时间吗 当然,如果你先用伪代码编写每一个例程/方法/任何东

我一直在阅读《完整的代码》,现在还不远,但其中一个内容是PDL——一种更高层次的设计语言,在使用所选语言编码之前,您可以使用它编写每个例程

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

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

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

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

一点也不——事先计划好你要做什么可以节省时间。它迫使您在最简单的阶段(即在您真正做任何事情之前)仔细思考并重构

你不必完整地编写每一个例程——只需编写关键步骤,就可以让你充分了解每个部分将要做什么,以及你是否已经计划好了所需的一切



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

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


很多人过去常常抱怨这一点,但这是我从他那里学到的一项技能。我发现自己在设计软件时大部分时间都在使用自己。我总是有一个本子和笔在我旁边,而编码<是的,我喜欢。不过,直到我读了这本书,我才意识到它被称为PDL。我称之为伪代码。伪代码和PDL之间的区别不大——PDL避免使用目标语言结构,这在实践中并没有什么大不了的

如果例程不那么琐碎,我就从PDL开始


顺便说一句,McConnell在第二版的CodeComplete中使用了word伪代码而不是PDL。

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

我在20世纪80年代国防部工作时使用过它。PDL对于一个单独的程序员周末的1-1000行代码的项目来说是过度的。但是,如果您正在开发一个由十几名软件工程师组成的10k-100k代码行系统,那么它非常适合在瀑布方法中定义初步的软件设计。此外,其设计符合MIL-STD软件开发要求