赞同 ,要学习架构和设计不一定非得纠结在同一种语言上。从一些比较设计的比较清晰的代码中学习来用到自己的工作中,绝对是一个妙招。
而至于本问题的重点,如何“更有效率、更清晰地理解别人写过的代码”,确实是一个蛋疼到家了的事情。虽然本人代码写的还没题主多,但还是说一下我的看法吧:
- 首先就是要确定你“理解别人写过的代码”的目的;如果被迫不得不拿该代码动刀什么的,根本没必要去拿一坨翔一样的代码去读。因为仅仅是学习的话,好东西多得是,能够拿出来秀的代码必然有那么一些给别人读的自信,所以一定能够找到一些让人欣慰的东西。
- 其次是关于理解代码;作为一个项目的组成部分,代码的独立性并不是那么的高,所以有必要从整体入手,再深入细节。而对整体如何入手,则要看你自己的经验和该项目的相关资料了。
- 关于风格与范式也是一个很令人纠结的问题;C++是典型的代表。但这其实无妨。虽然如果你的思维仅限OO而不能进一步理解其它范式,那么你大可去寻找Java方面的来学习。另外的方法就是自己多去了解和掌握一下更多的相关内容,这样,当你遇到问题的时候,还能有另外的解决思路。而代码风格则更不是问题了,多写多读多练,那些有着特定风格的代码必然不在话下。
- 最后,也是最重要的,就是当你自己写代码的时候也请更多的考虑一下这方面的问题;也许接下来还会有人需要读你的代码,这个时候,良好的代码读起来可能要比乏味冗长的文档要舒服的多了。所以,如果可能的话,每每自己写代码时也请试着实践一下“代码即文档”这一原则。
谢,拙见,轻喷。