阶段0:拟出一个计划
第一步是决定在后面的过程中采取哪些步骤。这听起来似乎很简单(事实上,我们这儿说的一切都似乎很简 单),但很常见的一种情况是:有些人甚至没有进入阶段 1,便忙忙慌慌地开始编写代码。如果你的计划本 来就是“直接开始开始编码”,那样做当然也无可非议(若对自己要解决的问题已有很透彻的理解,便可考 虑那样做)。但最低程度也应同意自己该有个计划。 在这个阶段,可能要决定一些必要的附加处理结构。但非常不幸,有些程序员写程序时喜欢随心所欲,他们 认为“该完成的时候自然会完成”。这样做刚开始可能不会有什么问题,但我觉得假如能在整个过程中设置 几个标志,或者“路标”,将更有益于你集中注意力。这恐怕比单纯地为了“完成工作”而工作好得多。至 少,在达到了一个又一个的目标,经过了一个接一个的路标以后,可对自己的进度有清晰的把握,干劲也会 相应地提高,不会产生“路遥漫漫无期”的感觉。 座我刚开始学习故事结构起(我想有一天能写本小说出来),就一直坚持这种做法,感觉就象简单地让文字 “流”到纸上。在我写与计算机有关的东西时,发现结构要比小说简单得多,所以不需要考虑太多这方面的 问题。但我仍然制订了整个写作的结构,使自己对要写什么做到心中有数。因此,即使你的计划就是直接开 始写程序,仍然需要经历以下的阶段,同时向自己提出一些特定的问题。
1 package Com.TomTest; 2 3 interface Cubics { 4 double getCubic(int n); 5 } 6 interface Sqrts { 7 public double getSqrt(int x); 8 } 9 class Asss{ 10 void f(Cubics cubic) { 11 double result=cubic.getCubic(3); 12 System.out.println(result); 13 } 14 } 15 public class TomTest_37{ 16 public static void main(String args[]){ 17 Asss a=new Asss(); 18 a.f(new Cubics(){ //可以看做是Cubic接口的的实现类 19 public double getCubic(int n) { //实现了Cubic类的getCubic()方法 20 return n*n*n; 21 } 22 } 23 ); 24 Sqrts ss=new Sqrts(){ //可以看做是Sqrt接口的的实现类 25 public double getSqrt(int x) { 26 return Math.sqrt(x); //实现了Sqrt类的getSqrt()方法 27 } 28 }; 29 double m=ss.getSqrt(5); 30 System.out.println(m); 31 } 32 }