4

了解构建移动应用程序的算法真的很重要吗?我对开发工具和设计模式有深入的了解,并且对 OOP 和 MVC 有深入的了解。

那么,成为一名优秀的移动应用程序开发人员是否需要了解核心算法?


我可以理解,如果您想创建游戏,那么是的,很明显我们必须了解所有与 AI 相关的算法才能胜任。但我要求的只是简单的数据驱动应用程序构建。

4

4 回答 4

5

您编写的每个计算机程序都实现了一个算法或一组算法。如果您关心程序的质量(故意模糊的术语),那么您必须关心算法的质量。

例如,如果您希望您的程序快速(这是程序可能具有的品质),那么对于相同的问题,最好选择快速算法而不是慢速算法。如果您希望您的程序适合少量的 RAM(另一个质量因素),最好选择一种在少量 RAM 中运行的算法,而不是用 GB 吞噬它的算法。

因此,软件开发人员的关键知识包括如何分析算法的速度、内存使用以及您可能有兴趣优化的所有其他质量因素的知识。当然,分析算法的一种方法是参考告诉你想知道什么的文本。

我的结论是,是的,你确实需要了解核心算法才能成为一名优秀的开发人员,我认为在移动应用程序开发方面没有任何理由改变我的信念。当然,我不希望您了解所有可能存在的算法,但是所有基本教科书中的主要算法以及特定于您的应用程序领域的算法,地狱是的,您必须了解那些流氓!

于 2012-06-22T12:50:55.110 回答
0

我认为这与移动领域无关。您应该始终尝试实现最佳解决方案(没有完美的解决方案)。在移动领域,尤其是性能非常重要,因为我们谈论的是小型设备,尽管近年来硬件得到了重大提升,但您应该始终特别小心。我总是使用内存泄漏来检查我所做的是否有问题。我还检查了堆内存,看看是否有东西消耗太多内存。电池也是一个问题,您还应该测试您的应用程序是否使用过多。

目前我真正专注于应用程序的架构,当前标准中的工作应用程序(至少我自己的)是不够的。了解模式是一个强大的工具,你应该阅读这些(最好的一个是这个一)。如今,维护成本是一个主要因素,您应该尝试实现最大的代码可重用性和清洁度。始终假设客户会更改规范并始终牢记将来会有其他人维护您的代码,因此请避免使用冗长的方法和过于复杂的代码(除非您必须这样做)。还记得留下评论,即使事情真的很简单,也要谦虚......一个月后你可能不会现在那些“简单”的东西做了什么。当您从头开始一个项目时,这些事情很容易实现,但是当您需要在一周后开始考虑这些项目时,就会很痛苦。

那么对于您的问题: 是否需要了解核心算法才能成为优秀的移动应用程序开发人员?

我的回答是:不,它有帮助,但是在开发时还有其他重要的部分,除了算法。

于 2012-06-22T13:37:51.953 回答
0

好的算法可以直接影响手机的电池消耗以及它的内存占用量。每个开发人员都应该努力使用最好的算法,但这并不意味着它是绝对必要的。

于 2012-06-22T14:16:14.243 回答
0

平台越小,资源限制越多,了解算法就越重要。因此,在移动设备上,它会更加重要。

于 2012-06-22T15:54:25.263 回答