学习设计模式有利于读懂开源项目的代码吗?

最近在阅读一些优秀的开源项目源码的时候,遇到了一个问题。

对于某一行代码,我知道它是用来做什么的,但是就是不明白作者为什么要这么写。

我想了一下,觉得可能是自己对于程序设计这一块不熟悉。所以打算从设计模式入手。我的问题是,设计模式能否满足我的需要?还是说我现在这种水平注定是读不懂的,等基础知识足够扎实以后会无师自通?

注: 读的是Android开源项目


慕容森
浏览 1499回答 2
2回答

犯罪嫌疑人X

我想了一下,觉得可能是自己对于程序设计这一块不熟悉。是的,你觉得没错。所以打算从设计模式入手。这是一个好主意。不过你不要期望能够“毕其功于一役”,这很难。要真正学懂设计模式并能灵活的运用/套用在现实中,需要很多次/长期的反复学习与练习。你的基础和天赋会有助于减少这些消耗,但有的东西仅仅是靠看书真的无法变成知识。对于你的问题,答案是肯定的。虽然你现在的“不明白”不一定全是因为你不懂程序设计,但软件设计的知识总是能够帮助到你,多多少少。注意一点,设计模式并非软件设计的全部,只是其中的很重要的一部分。在我们编程生涯的很长一段时间里,我们都会经历想你说的那种“这种水平注定是读不懂的”的阶段,但是这不应当成为阻拦你继续阅读源代码的理由。所谓“无师自通”是不太现实的,学习编程这件事情本身就没有定规,它是一种综合素质的体现。你不能指望自己一头扎进“设计模式”的大坑,等爬出来之后“阅读开源项目”就水到渠成了;反过来也是一样。它们应该是相互促进的关系,有点类似于“理论与实践相结合”。阅读源代码的时候,重点不在于“我是否完全懂了”,而在于“我都读懂了哪些?还有哪些不懂?”懂了的,实际动手的时候尝试用进去,不懂的,学习软件设计的相关知识去搞懂它。并且有鉴于此,阅读源码也不一定非要选择大型项目,有的时候哪怕十几行的片段都能让人受益匪浅——不过当然,谈及到“设计”的层面,当然要上到一定的规模才能有所体现。
打开App,查看更多内容
随时随地看视频慕课网APP