摘抄
《程序员》:设计软件系统时,你会采用哪些步骤?
Nathan :我认为,设计软件系统完全就是学习如何在行进中开发。我应用一种被我称之为“面向痛苦编程”(Suffering-Oriented Programming)的原则,使学习最大化,浪费最小化。关于这种方式的详细介绍我已写在博客上(http://nathanmarz.com/blog/suffering-oriented-programming.html )。其核心思想是,避免做出“通用”和“可扩展”的设计,除非你已透彻理解了问题域(Problem Domain)。
相反,你应该直截了当地尽快打造出可用原型,继而通过迭代和改进学习问题域,当你对问题域的盘根错节有了清晰的理解后,再回过头来重新设计系统,使之具备通用和可扩展等特性。到最后一步才开始收紧代码,优化性能。归纳为三个步骤,就是“先使之可能,再使之漂亮,后使之快速。”

浙公网安备 33010602011771号