课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
随着软件编程开发市场的不断完善,越来越多的编程语言都会针对不同的需求算法来提供一些现成的类与函数关系,今天我们就一起来了解一下具体情况吧。
1.善用语言提供的类,避免重复造轮子
实际上,对于大部分常用的数据结构和算法,编程语言都提供了现成的类和函数实现。比如,Java中的HashMap就是散列表的实现,TreeMap就是红黑树的实现等。在实际的软件开发中,除非有特殊的要求,我们都可以直接使用编程语言中提供的这些类或函数。
这些编程语言提供的类和函数,都是经过无数验证过的,不管是正确性、鲁棒性,都要超过你自己造的轮子。而且,你要知道,重复造轮子,并没有那么简单。你需要写大量的测试用例,并且考虑各种异常情况,还要团队能看懂、能维护。这显然是一个出力不讨好的事情。这也是很多高级的数据结构和算法,比如Trie树、跳表等,在工程中,并不经常被应用的原因。
但这并不代表,学习数据结构和算法是没用的。深入理解原理,有助于你能更好地应用这些编程语言提供的类和函数。能否深入理解所用工具、类的原理,这也是普通程序员跟技术专家的区别。
2.千万不要漫无目的地过度优化
掌握了数据结构和算法这把锤子,不要看哪里都是钉子。比如,一段代码执行只需要0.01秒,你非得用一个非常复杂的算法或者数据结构,将其优化成0.005秒。即便你的算法再优秀,这种微小优化的意义也并不大。相反,对应的代码维护成本可能要高很多。
不过度优化并不代表,我们在软件开发的时候,可以不加思考地随意选择数据结构和算法。我们要学会估算。估算能力实际上也是一个非常重要的能力。我们不仅要对普通情况下的数据规模和性能压力做估算,还需要对异常以及将来一段时间内,可能达到的数据规模和性能压力做估算。这样,我们才能做到未雨绸缪,写出来的代码才能经久可用。
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。