此书的第一章讲述的是大道至简其主要讲了以下四点:
规则1——避免过度设计4
过度设计有2大类:
1、产品的设计和实施超过了实际(能够使用)的需求。
不需要追求完美设计,把握好开发尺度,否则浪费资源,增加维护成本和延长开发周期。
2、所完成的产品过于复杂
指把一件事情做得过于复杂和以复杂的方式去完成一个任务。让用户花费不必要的精力去完成一件事情。
简化操作步骤,提高用户体验和客服工作效率
应该把代码写得通俗易懂,复杂问题简单化,构思易于理解并可以维护的解决方案。
可以把这一项列为技术人员的能力评估之一。
规则2——三次简化方案13
应用帕累托原则(也叫80-20原则)。收益的80%来自于20%的工作。如何删除不必要的功能,可以做5倍的工作。缩窄项目范围,步骤要求易于理解、低成本、高效益和可扩展的方式来完成。
先模仿别人的合适的方案,只有都找不到的情况下,自己创建解决方案。
规则3——减少域名解析16
内容:从用户角度减少域名解析次数
用法:尽量减少下载页面所需的域名解析次数,但是保持与浏览器的并发连接平衡。
网页上大小差不多的文件,但下载时间却不同。测试插件(火狐Firebug)
每个页面改版前后都测试一下下载时间,是否比原来性能更好
网页上的域名解析的次数减少,网页的下载性能就越好。
这一条和之前的一本书上的说法矛盾的,另外一本是说把CSS,JS独立域名会更快。不知道这里说的域是独立一级域名还是也包含二级同域名,可以拿5sw首页做个测试。
规则4——减少页面目标19
·减少或者合并对象,但要平衡最大并发连接数
·寻找机会减轻对象的重量
·不断测试确保性能的提升
把同类的对象放在一个文件里,如小图标,合并为一个大图标,通过CSS来单独显示。
浏览器并发连接存在顶项是因为负责提供对象的每个域名服务都存在着资源限制。