怎样学习别人写的源代码?该如何解决

怎样学习别人写的源代码?
我也知道如果想多学点知识的话要多看别人的代码,但是我有几点疑问:
1、我感觉代码都是人写的,而且不同的人写的风格不同,而且有的人根本就没注释,感觉好乱,一点都没看下去的欲望;
2、像MFC,那么多个类,我应该主要看哪些文件呢

------解决方案--------------------
按模块、功能、相关性去看源码
------解决方案--------------------
我一般都是自己的程序想要实现某种功能
但是没有什么思路 就去看别人有类似功能的源码
------解决方案--------------------
看多了自然就会了,不排除有些代码本身写得太乱,没法看
------解决方案--------------------
天天看,天天写
------解决方案--------------------
先看功能,知道软件做了件什么事情,再去找代码
------解决方案--------------------
找自己能用的,其他的随它去吧……

阿弥托福…………
------解决方案--------------------
回答你第二个问题。
如果你是想了解MFC的设计思想,建议看看侯捷那本《深入浅出MFC》(网上有电子版),边看MFC的几大核心技术边阅读源代码;
如果你是想了解MFC的体系结构,建议先把MFC的层次结构关系弄清楚,然后重点研究几个比较关键的类,比如:CObject, CCmdTarget, CWinThread, CWinApp, CWnd等;
如果你只是想看看某些常用的具体的类,比如CString,建议用白盒测试的方法一边跟踪一边分析程序的流程走向。