You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
或者一个不太恰当的比喻:
只注重算法≈把逻辑全扔到 controller 里: 随着 use case 的增多代码会很难读且有很重复.
重视数据结构≈把逻辑逐渐沉淀到 model 层, 然后想要理解代码的人着重看一看 model 就很快能理解, 而维护代码的人经常能直接用上 model 里已有的很多东西.
The text was updated successfully, but these errors were encountered:
https://www.v2ex.com/t/732607#reply73
算法是你想出来解决某些问题的一个解.
数据结构是算法用得比较多之后内化出来的一个模型. 重视数据结构的代码比不重视数据结构的代码清晰易懂好维护, 不过数据结构一般不会让你做出之前不能做到的事情. 你可以把数据结构看作某些算法的沉淀.
Linus, Rob Pike 很多人都说过类似的问题, 这里引用一个 Eric Raymond: http://www.catb.org/esr/writings/taoup/html/ch01s06.html#id2878263
大意是人很难理解简单的过程逻辑, 但是却能理解很复杂的数据结构.
对比一下一个 50 行的 if else for 循环, 和一个 50 行的 class.
或者一个不太恰当的比喻:
只注重算法≈把逻辑全扔到 controller 里: 随着 use case 的增多代码会很难读且有很重复.
重视数据结构≈把逻辑逐渐沉淀到 model 层, 然后想要理解代码的人着重看一看 model 就很快能理解, 而维护代码的人经常能直接用上 model 里已有的很多东西.
The text was updated successfully, but these errors were encountered: