19.2 编程柔术
你听说过柔术吗?这是一种日本武术,类似于从它衍生而来的柔道和合气道,也注重灵活的反应,宁弯勿折:不力图用计划好的动作打击对手,而是顺势而为,借力打力。这样(从理论上说)能打败比你更高大、更狡猾、更强壮的对手。
如何将这种理念用于编程呢?关键在“柔”字上,也就是灵活性。在编程过程中遇到麻烦(肯定会遇到)时,不要固守最初的设计和想法,而要灵活变通,以柔克刚。要做好应对并适应变化的准备,不将意外的事故视为令人气馁的打击,而是将其看作让你重新探索新选项和可能性的契机。
问题是当你坐下来规划程序时,对于这个具体的程序,还没有任何经验。怎么会有这样的经验呢?毕竟这个程序还不存在呢。在实现的过程中,你将逐渐有新的认识,而倘若你最初设计时有这样的认识,将大有裨益。因此,不应无视你一路走来获得的经验教训,而应利用它们来重新设计( 重构)既有的软件。我的意思是,你应该做好应对变化的心理准备,并欣然接受最初的设计肯定需要修订的事实,而不是在没有确定前进方向的情况下随意尝试。正如一位老作家所言:写作就是重写。
这种灵活性涵盖很多方面,这里只简要地介绍其中的两个。
原型设计:Python的优点之一是让你能够快速地编写程序。要更深入地了解面临的问题,编写原型程序是一种很好的办法。
配置:灵活性形式多样。配置旨在让程序的某些方面修改起来更容易——对你和用户来说都如此。第三个方面是自动化测试,要能够轻松地修改程序,这绝对必不可少。有了测试后,你就能确信程序在修改后也能正确地运行。原型设计和配置将在接下来的两节讨论。有关测试的详细信
息,请参阅第16章。
领取专属 10元无门槛券
私享最新 技术干货