1 提升自己的能力,学习实践不能停。
- 使用Google,stackoverflow,github来学习
国内的网站的教程和资料也不少, 但是质量相对较差. 对于入门学习, 国内的资料更合适, 毕竟大家的语言, 思维方式更接近, 更容易消化吸收.
但是对于追求能力提高, 升华的人来说, 国外网站的资料价值更高, 各个技术的水源, 潮流, 方向 基本都在老外那里.
- 上Amazon.com找排名靠前的书来读
虽然很多人说找牛人指路是提升能力的捷径, 但是我觉得比较实用的还是看书. 我不太习惯从老师那里学习知识, 喜欢的是从书本上学习. 从书本上学习找到一本好书是必要的, 看一本好书, 能抵得上看十本烂书.
国内的技术类作者整体水平很低, 大多数大牛不会去写书, 或者说不屑于去写书(国内盗版严重, 书的价格也低). 所以在国内找书不如去国外找书, 国外的书, 在亚马逊找就对了.
2 找到,使用现成的库,框架。
- 避免重复发明轮子
很多人因为知道的少, 所以不知道别人已经发明了轮子. 自己又从头设计, 等做出来才发现别人早就做好了, 而且因为别人做的时间更长, 所以比自己的好很多; 很多人为了业绩, 或者是锻炼能力, 明知道已经有现成的轮子了, 还从头造. 这些都会导致生产力下降, 当然, 也可能有其他方面的收获.
- 别用自己玩不动的库或者框架
能使用别人的库或者框架, 其实是需要能力的. 如果能力不足, 对于一些复杂难懂的库或者框架, 还不如不用. 另外框架和库常常不能和你的需求百分百一致, 你可能需要修改库或者框架的代码, 这时候也可能出现能力不足的情况. 反正别做超出自己能力之外的事情, 如果你想提高生产力. 拿打炮打蚊子, 速度快不了.
3 警惕重复出现的代码,逻辑,重构复用。
- 用更少的代码实现相同的功能
虽然有时候把相同的代码拷贝到多个地方, 也挺省力的. 但是万一有点变化, 就很难改的了, 需要改好多个地方.
- 需要ide的支持和敏锐的嗅觉
目前好一些的ide都支持抽取方法, 重命名, 移动方法变量什么的.
有的东西如果出现了两次, 就要考虑是否会重复出现下去, 如果是, 就得抽取共用逻辑了.
4 警惕重复的体力活,利用脚本语言之类的帮你。
- 起码得会那么一种脚本语言吧
- 复制黏贴改名字什么的还是让电脑做吧
5 使用更具有生产力的ide,少用鼠标。
- 我觉得好的ide在敲码速度上至少能x1.5
好的ide, 应该运行速度还行, 能够很好的补完代码, 对重构有良好的支持, 对代码生成, 单元测试, 界面构建, 版本控制有良好的支持. 有合理的快捷键.
- 当然如果脑速赶不上手速用什么ide也白搭
这是废话, 也是真理. 反过来说, 我们可以在编译的时候, 休息下大脑呵呵.
6 分解工作,每半小时一小时的能看到工作成果,形成激励。
- 心情是第一生产力
心理状态好的时候, 干活速度都很快. 所以很多人说地主虐待长工, 真实难以相信. 看到工作成果, 是对开发人员最好的激励. 为什么工程师痛恨产品需求改来改去, 也是这个道理, 因为看不到工作成果, 或者工作成果反复被毁掉.
- 长期看不到工作成功很崩溃
很多人在黎明前死掉, 就是这个道理. 工作看不到成果, 压力等负面程序会一直累加, 很可能让人放弃.
7 在一个层面或者纬度上聚焦,在一段时间内只写逻辑,或者只调界面,或者只调通信,或者只做一个功能模块。
- 脑子里思维范围越小越快,同样的能量,供应更少的脑细胞,怎么能不快。
上学的时候说, 学要学的尽兴, 玩要玩得痛快, 应该也是这个道理. 把很多事情掺杂在一起, 很难做好做快.