1.开始,开始,再开始 识别并摒弃无用的幻象和想法。 2.识别并摒弃非问题 找出阻碍你问题解决的非问题,或者利用它们帮助解决真正的问题。 3.优先考虑别人会首先排除的选项 最大的算法改进往往隐藏在这里。 4.精心构建周密的解决方案 5.尽可能优化该解决方案设计 6.摒弃从头开始是不好的幻象 返回第一步,以更深入的理解继续寻找所有可能的好解决方案。 7.比较解决方案 进行实验、基准测试、模拟等,确认找到最佳方案。 8.继续返回第一步 直到想法在设计上是正确的。 9.在编码前将问题简化 通过分解,使编程任务变得微不足道。 10.编码 构建有助于解决问题的自定义工具,编写简单明了的代码,确保代码设计上的正确性。使用简短的一行代码,交互式测试每个Forth词语,扩展核心语言,向解决方案迈进,返回第一步,直到代码解决方案自然浮现。 11. 编写清晰简单的文档 确保文档设计正确,创建词汇表描述每个词语,享受工作的成就感。 如果方法运用正确,最简单的步骤是第9步。如果从第9步开始,只理解了1%的方法论。 这种方法论可以应用于硬件设计,也适用于任何类型的问题。 Forth的发明者Charles Moore说他的语言设计是为了“避免”计算机科学中的“无法解决”的问题。他认为“真正”的问题是你想解决的问题,而增加无法解决的问题才是你的问题。 每次迭代都能更好地理解问题,每次循环都会发现新的优化点。找到并消除最后一个瓶颈后,在每次迭代中找到下一个最大的瓶颈。 Moore先生在软件上重复了步骤1-10达20年,他宣布编程问题已经解决,剩下的问题是硬件问题。Moore先生研究并构建了自己的新工具。 Moore先生在硬件/软件上再次重复步骤1-10,计算机是硬件/软件的结合,Moore先生不断接近解决方案。 他采用逐步迭代的方式。他说在某些节点上犯了错误,必须返回寻找正确的上行楼梯。学会识别何时离开了上行楼梯。我敬佩他多次告诉我们他在方法或结论上出错了,走错了路径或告诉我们一些不真实的东西。 我看到很多人试图跳跃或攀爬垂直的墙。我告诉他们有楼梯,这条路更长但更简单更好。但有些人会试图逆着下行扶梯向上走。考虑使用上行楼梯。 |
联系电话:647-830-8888|多伦多六六网 www.66.ca
GMT-4, 2024-10-31 07:21 AM , Processed in 0.044101 second(s), 23 queries .
Powered by Discuz! X3.4
Copyright © 2001-2020, Tencent Cloud.