避免使用程序设计语言的冷僻特性,应该使用最简单的有效技术
不要毫无节制地重载运算符。
不要滥用匿名变量,合理使用命名变量。当然,这不是说连vector().swap(other)这样的惯用法也要排斥。
第3条:编程中应知道何时和如何考虑可伸缩性
从字面上来看,这差不多等于外交辞令。答案无非是“适当的”时候“适当地”考虑可伸缩性。这非常依赖于软件工程师的经验和知识。所以,本条目也“适当地”回避了那种缺乏营养的教导,着重讨论算法复杂度的选择问题。
基本上,线性复杂度可以作为一个算法是否可选的分界点。值得花费精力避免选择差于线性复杂度的算法,而不差于线性复杂度的算法则可以接受。所以,把性能放在嘴边的兄弟们注意了,你的精力可别放错了地方,高德纳言犹在耳:不成熟的优化是程序设计中的万恶之源。必要时,先努力优化复杂度(选择好的算法----算法无用论者,去面壁!)。
顺便提一句排序算法,通用排序算法的复杂度最好是O(NlgN),但是特定领域完全可以有更好复杂度的算法。
延伸阅读
文章来源于领测软件测试网 https://www.ltesting.net/