编写伪代码 - 最佳实践?

时间:2009-05-12 13:17:01

标签: pseudocode

我不想邀请Pseudocode在这里是否有用的论点,...有很多与此相关的问题。我发现编写伪代码有时很有用,但有一件事情一直出现的是我最好的表达方式吗?

有时我最终会使用编号方法,有时候我会使用C风格的语法,但大部分时间它都是我认为当时最好的混合。这很好,但在6个月后,当我再来看一遍时,并不总是那么清楚意图是什么!为了打击我最近开始将页面分成两部分而在右半部分,我会写pidgin [在这里插入语言],在左边我会写出非常明显和冗长的英文。

我认为没有任何'标准'来编写伪代码,但我很想知道其他人是如何做到的,也许这将帮助我决定统一的方法。

提前致谢。

哦,我知道这个问题是主观的,如果这不是SO的预期目的,我很抱歉,但这仍然是一个有效的问题。事实上,计算中真的有很多问题只有一个正确的答案吗?我将把最有用的答案标记为正确。

6 个答案:

答案 0 :(得分:6)

我倾向于发现自己在使用缩进的记事本中编写小用例...并且经过六行左右后我突然意识到我的写作风格本质上是Python但语法少了一点!所以我得出的结论是,Python实际上是伪代码,是用你真正试图写入的任何语言来构思你的想法的绝妙方式。这个技术最好的就是你已经有一个参考,你可以比较你的成品结果与令人讨厌的错误。

有些时候UML sequence diagram比写作心理练习更快,以确定需要发生什么以及何时发生,但这两种技术是我一次又一次回来的。

答案 1 :(得分:3)

我喜欢史蒂夫麦康奈尔关于在代码完成一书中编写伪代码的章节。我知道如果你不拥有它,这个答案可能并不令人满意,但如果你不这样做,那么这本书本身就是必须的。

答案 2 :(得分:1)

我从英文写作或与编程语言表达混合开始。 然后我一步一步地用编程语言表达式替换英语,有时将英语单词留作注释,然后 - 瞧 - 我有一个测试函数 - 所以它就像伪代码+ TDD一样。 我不得不提一下,我不会总是使用这种方法,只是当我必须解决一项艰巨的任务或设计一个新的而不是一个琐碎的课程时。

答案 3 :(得分:1)

我通常完全避免任何类型的代码语言,并在程序的任何给定点写下我想要发生的事情的评论。一旦评论全部完成,就需要填补空白。

答案 4 :(得分:1)

我也发现伪代码很有用。你的两页方法听起来不错。您也可以查看Literate Programming;我经常使用LP风格来编写我的想法,虽然我通常不使用LP工具。

答案 5 :(得分:1)

我从来没有使用过伪代码而且从来没有觉得有必要这样做,我相信如果你花了一些时间来重构它,无论你使用什么语言,你的代码都可以足够干净。

我以为我太懒了,或者出于某种原因只是反对它,但后来我发现others think the same