01
当性能遇到问题时,如果能在应用层进行计算和处理,那就把它从数据库层拿出来。排序和分组就是典型的例子。在应用层做性能提升总是要比在数据库层容易的多。就像对于MySQL,sqlite更容易掌控。
02
关于并行计算,如果能避免就尽量避免。如果无法避免,记住,能力越大,责任越大。如果有可能,尽量避免直接对线程操作。尽可能在更高的抽象层上操作。例如,在iOS中,GCD,分发和队列操作是你的好朋友。人类的大脑没有被设计成用来分析那些无穷临时状态。
03
尽可能简化状态,尽可能局部本地化,适用至上。
04
短小可组合的方法是你的好朋友。
05
有疑问时,和团队中所有相关人交流。
06
做正确的事情——你通常会知道这指的是什么。
07
你的用户并不傻,他们只是没有耐心理解你的捷径。
08
代码注释是危险的,因为它们很容易更新不及时或给人误导,但这不能成为不写注释的理由。不要注释鸡毛蒜皮的事情,但如果需要,在某些特殊地方,战略性的长篇注释是需要的。
09
如果你认为一个用例场景也许“不会有问题吧”,它也许就是一个月后让你在发布的产品中遭受惨痛失败的地方,做一个怀疑主义者,测试,验证。
10
如果一个开发人员没有被安排长期的维护你们开发的系统,对他保持警惕。80%的血、汗、泪水都是在软件发布后的时间里流的——那时你会变成一个厌世者,但也是更聪明的“行家”。
11
任务清单是你的好朋友。
12
主动让你的工作更有乐趣,有时这需要你付出努力。
13
复杂是大敌。
14
悄无声息的崩溃,我仍然会为此从噩梦中惊醒。监控,日志,警报。清楚各种的假警报和不可避免的感觉钝化。保持你的系统对故障的敏感和及时警报。
领取专属 10元无门槛券
私享最新 技术干货