科学
,有人说它是艺术
,还有人称之为技能
或手艺。我认为这三方面兼而有之。我们喜欢说它蕴含大量艺术成分,但是我们都知道它里面更多的是科学。想象
。就是要在脑海中对来龙去脉有极为清晰的把握。在这个初始阶段,我会使用纸和铅笔。我只是信手涂鸦,并不写代码。我也许会画些方框或箭头,但基本上只是涂鸦,因为真正的想法在我脑海里。我喜欢想象那些有待维护的结构,那些结构代表着我想编码的真实世界。数据结构
才是关键。我会先想好数据结构,并在整个编码过程中将它们牢记于心。一个人
写的。数据结构
是正确的,我是决不会开始编码的。我每次废弃代码的时候,通常是因为底层的数据结构太糟糕,而不是因为所采用的算法。全部重写
一遍。每个细节
他都会脱口而出。推迟编码
。一旦写了一堆代码后,就很难改变方向了。它就好比混凝土一样成了阻碍。