首页 > 代码库 > 一周总结:2014.04.28 – 2014.05.04
一周总结:2014.04.28 – 2014.05.04
技能与知识
我们每天学习的东西,可以粗略的划分为技能和知识两大类。技能,就是解决问题的能力;而知识则是对内容的理解、掌握。或者说,技能是对知识的动态使用。
相比于知识,我更希望多掌握些技能。前段时间总结自己的学习经历时,猛然发现我学到的其实更多的是知识,很是沮丧。我知道很多算法(算法导论那种),看过很多系统或框架的介绍与分析,也认真学习过计算机的体系结构,但这些没有转化为我的技能,我还是不会解决问题。
直到昨天,我想通了一件很浅显的事:知识+实践=技能。
我的第一个问题是知识并不足够,尤其是知识面很窄,这需要大量的学习去积累。而第二个问题就是实践太少。我羡慕别人的经验,但经验是不会突然多出来的。如果我能积累10万或20万行代码,自然就会懂很多的知识,而这些知识则会更进一步转化为我的技能。
总结一下,我需要做的是:
- 多积累:多看书,多看代码,多关注新技术的发展, 多和人交流
- 多实践:多去实践新知识;每天都要写代码;勇敢的去解决问题
- 多思考:从重复的实践中总结出规律
看项目代码的方法
过去的半个月主要在看组里的代码。这些代码不算新,也不算很旧,大约是在过去的4-5年内写的,但期间代码风格等已经发生了一些改变。
之间只看过算法书上的代码,这是我第一次看大型项目的代码,总结一些方法如下:
- 首先要搞清楚这个项目的中心思想是什么
- 为了解决什么问题(分布式结构化数据读写)
- 有何侧重点(读优先还是写优先、可靠性优先还是读写性能优先)
- 然后要能构建起整个项目的一个逻辑形象
- 整个项目可以分成几个逻辑模块,互相有什么相系
- 数据在逻辑上是如何排布的
- 接下来沿着若干条路径去看代码
- 客户和服务器间的通信路径
- 读写请求的处理路径
- 控制请求的处理路径
- 程序的启动和终止路径
- 数据在网络-内存-磁盘间的转换路径
- 最后就是乱序看代码,看它是如何体现项目的中心思想的
我目前还卡在3-b这里……
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。