我现在想读一些源代码程序,读了几个程序,比如dedecms,echshop等,但是读的时候非常吃力,一是不知道他的整体构架,比如从他的入口文件index.php读,但是入口文件调用了很多其他的文件和函数,然后就必须读其他文件的函数,其他文件中还有调用,这样一来把我整的晕头转向的。。有没有哪位朋友有没有好的方法读别人写的一些比较复杂的源码方法,还请指教下!

解决方案 »

  1.   

    说吧,我目前用的ecshop帮公司做二次开发,以前读过dedecms,你想问什么,说
      

  2.   

    貌似dedecms不是mvc的吧?哪有什么入口文件。
    ecshop没看过。读mvc结构程序时你首先要了解他整个结构。哪个目录放什么东西。他的一个生命周期是怎样的。老外的程序最喜欢这么干,一个函数调另一个函数然后又调另一个函数,看起来很乱,追踪时会晕头转向。实际上如果这个程序不是一个垃圾的话,他这些都是有规律的。第一个函数为什么调第二个函数?第一个函数所处的文件甚至目录是只作为某一类特定功能所用的类。而第二个函数又是另一类功能,第三
    总之他们是有规律的,你先要把这些不同的类,不同的函数,不同的文件抽象出功能分类来。如果你做到了这一点,当你在一个函数中看到另一个函数时,你甚至不用看include,自己就知道该去哪找那个函数了。这是封装的一个整体架构,是一层一层的。拿MVC来举例,最开始是入口,然后是分发器调用controller,controller去调用model,model返回给controller处理结果,然后controller再把结果送给view。
      

  3.   

    如果你熟悉设计模式,就知道他们为什么这么做了。不得不说,老外写的程序,都是很有水平的。你不了解时,会认为他们把简单的事情搞的很复杂,一个小功能他分别拆成一堆函数来实现。而这正是抽象所带来的必然结果。达到一种松散耦合的结构。不得不说国人写的程序,甚至那些开源的什么discuz,都远远没达到这种水平。有时间多去看看zf和国外那些人写的代码,会对你帮助很大。