这对于开发人员来说是一个不寻常的问题,但出于某种原因我想将其发布在这里并希望得到足够的答案。
这是一个简单的例子:
我编写了一个java函数来计算两个地理点之间的距离。该函数不超过50行代码。我决定从 ibm 下载一个具有相同功能的源代码,但当我打开它时,我发现它看起来非常复杂,几乎有数千行代码。
什么样的人会写出这样的源代码?他们只是非常优秀的程序员吗?我应该使用他们的源代码还是我自己的?
我已经注意到这种事情很多次了,我时不时地开始怀疑是否只有我不知道如何编程,或者也许我错了?
你们在浏览别人的源码时是否有同样的感觉?
最佳答案
您找到的代码是否执行完全相同的计算?也许它考虑了一些您没有想到的边缘情况,或者使用了具有更好数值稳定性、更低渐近复杂度的算法,或者是为了利用分支预测或 CPU 缓存而编写的。或者它可能只是过度设计。
请记住这句话:“对于每个复杂的问题,都有一个简单、优雅但错误的解决方案。”如果您正在处理数值软件,即使是最基本的问题,例如 adding a bunch of numbers可能会变得异常复杂。
关于java - 我自己的代码与库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17382411/