至于我个人而言,我大多数情况下只在处理困难的事情时使用它。
至于我个人而言,我大多数情况下只在处理困难的事情时使用它。
当我没有电脑,只有纸和笔时,我会使用伪代码。对于不会编译的代码(无法在纸上编译),担心语法并没有太大意义。
现在我几乎总是在创建任何非平凡程序时使用它。我将伪代码作为注释创建,并继续扩展它,直到我可以在其下方编写等效的代码。我发现这显著加快了开发速度,减少了“只编写代码”综合症,通常需要重写未考虑的事物,因为它迫使您在编写实际代码之前思考整个过程,并在编写代码后作为良好的代码文档基础。
我和我的团队中的其他开发人员经常使用它。在电子邮件、白板上,或者只是在对话中。伪代码是为了帮助你思考所需的方式而教授的,以便能够进行编程。如果你真正理解伪代码,你几乎可以掌握任何编程语言,因为它们之间的主要区别在于语法。
我从来没有必须在编写程序之前写出程序的伪代码。
然而,有时我需要在编写完代码后写出伪代码,通常发生在我试图用简短的时间让某人了解新代码的高级实现时。所谓“高级实现”,是指一个伪代码行描述了大约50行C#代码,例如:
核心将一堆XML文件转储到一个文件夹,并使用几个命令行参数运行process.exe可执行文件。 process.exe读取每个文件 每个文件逐行读取 从文件中提取唯一单词并存储在数据库中 处理完成后删除文件
这种伪代码足以描述大约1000行代码,并足以准确地告知新手程序实际在做什么。
在许多情况下,当我不知道如何解决问题时,我实际上会在白板上以非常高级别的术语绘制我的模块,以清晰地了解它们的交互方式,绘制数据库架构的原型,绘制数据结构(特别是树形、图形、数组等)以获得对如何遍历和处理它的良好掌握等。
我在解释概念时会使用它。它有助于削减掉不必要的语言部分,使示例仅包含与所提问的问题相关的细节。
我在StackOverflow上经常使用它。
我不使用学校教授的伪代码,已经有很长一段时间了。
当逻辑足够复杂时,我会使用算法的英文描述; 它们被称为“注释”。 ;-)
在向他人解释事物或在纸上解决问题时,我尽可能多地使用图表 - 简单为上。
procedure GetTextFromValidIndex (input int indexValue, output string textValue)
// initialize
// check to see if indexValue is within the acceptable range
// get min, max from db
// if indexValuenot between min and max
// then return with an error
// find corresponding text in db based on indexValue
// return textValue
return "Not Written";
end procedure;
我主要用它来解决非常复杂的代码问题,或者向其他开发人员或不了解系统的非开发人员解释代码。
当我尝试做以上工作时,我还会使用流程图或UML类型的图表...