5

我不想在这里引起关于伪代码是否有用的争论,..有很多与此相关的问题。我确实发现编写伪代码有时很有用,但一直出现的一件事是我如何最好地表达它?

有时我最终会采用编号方法,有时我会使用 C 风格的语法,但大多数时候它是我认为当时最好的方法的混合。没关系,但是在 6 个月后,当我再次查看它时,并不总是那么清楚其意图是什么!为了解决这个问题,我最近开始将页面分成两部分,在右半部分我会写 pidgin [在此处插入语言],在左边我会用非常明显和冗长的英语写。

我认为编写伪代码没有任何“标准”,但我很想看看其他人是如何做到的,也许这会帮助我决定一个统一的方法。

提前致谢。

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

4

6 回答 6

7

我倾向于发现自己在记事本中使用缩进编写小用例……在大约六行之后,我突然意识到我正在以一种基本上是 Python 的风格编写,但语法少了一点!所以我得出的结论是,Python 实际上是伪代码,是一种用您真正尝试编写的任何语言对您的想法进行原型制作的绝妙方法。这项技术的最佳之处在于您已经有了可以比较的参考在出现讨厌的错误的情况下,您完成的结果。

有时候,UML 序列图比作为一种心理练习来绘制出需要发生什么以及何时发生的写作要快,但这两种技术是我一次又一次地回归的。

于 2009-05-12T13:58:51.310 回答
4

我喜欢 Steve McConnell 在他的书 Code Complete 中关于编写伪代码的章节。我知道,如果您不拥有它,这个答案可能并不令人满意,但如果您不拥有,这本书本身就是必须拥有的。

于 2009-05-12T13:25:37.850 回答
2

I've never used pseudocode and never felt the need of doing it, I believe that your code can be clean enough if you dedicate some time refactoring it, no matter what language are you using.

I thought I was too lazy, or just against it for some reason but then I found others think the same

于 2009-05-12T14:04:37.430 回答
1

我从用英语写作或混合编程语言表达开始。然后我一步一步地用编程语言表达式替换英语,有时将英语单词作为注释,然后 - 瞧 - 我有一个测试功能 - 所以它就像伪代码 + TDD 合二为一。不过我不得不提一下,我并不总是使用这种方法,只是当我必须解决一项艰巨的任务或设计一个新的而不是微不足道的类时。

于 2009-05-12T13:25:36.697 回答
1

我通常会完全避免使用任何类型的代码语言,并就我希望在程序中的任何给定点发生的事情写评论。一旦评论全部完成,就是填空的问题。

于 2009-05-12T13:33:05.777 回答
1

我也发现伪代码很有用。你的两页方法听起来不错。你也可以看看Literate Programming;我在编程时经常使用 LP 风格来表达我的想法,尽管我通常不使用 LP 工具。

于 2009-05-12T13:41:35.213 回答