原则1:KISS(Keep it simple, sutpid)保持每件事情都尽可能的简单。用最简单的解决方案来解决问题。
原则2:YAGNI(You aren’t gonna need it)不要去搞一些不需要的东西,需要的时候再搞吧。
点评
:speculative development的例子可谓俯拾皆是。程序员们对自己说:“我肯定以后会需要这项额外的功能,所以现在就提前把它实现了吧”。其实这是最考验功力的地方,不能闭门YY需要的功能,架构上又要洞察趋势。
原则3:爬,走,跑。换句话说就是先保证跑通,然后再优化变得更好,然后继续优化让其变得伟大。迭代着去做事情,敏捷开发的思路。对于每个功能点,创建里程碑(最大两周),然后去迭代。
点评
:快速反馈,一个“拍脑袋的里程碑”也好过没有里程碑……
原则4:创建稳定、高质量的产品的唯一方法就是自动化测试。所有的都可以自动化,当你设计时,不妨想想这一点。
点评
:一切自动化也要考虑ROI,比如对于特别易变的页面层……
原则5:时刻要想投入产出比(ROI)。就是划得来不。
原则6:了解你的用户,然后基于此来平衡你需要做哪些事情。不要花了几个月时间做了一个DevOps用户界面,最后你发现那些人只喜欢命令行。此原则是原则5的一个具体表现。
原则7:设计和测试一个功能得尽可能的独立。当你做设计时,应该想想这一条。从长远来看这能给你解决很多问题,否则你的功能只能等待系统其他所有的功能都就绪了才能测试,这显然很不好。
有了这个原则,你的版本将会更加的顺畅。
原则8:不要搞花哨的。我们都喜欢高端炫酷的设计。最后我们搞了很多功能和解决方案到我们的架构中,然后这些东西根本不会被用到。
点评
:老板喜欢PPT?