一、兴趣是最好的老师,思路方法什么的没有多想。
为了提升,与当前工作相关的知识(深度)
(比如虚拟机或编译器)
拓展视野,与当前工作无关的知识(广度)
(新的语言或当前比较火的方向),甚至完全不相干的知识
二、就是大量地阅读优秀项目的源代码,
它是怎么变成今天这样的”吧。学会用发展的眼光看问题,了解一些经历过的经验教训,收获会比单纯学会一件什么事情多的多。公司内部的资料库、wiki等大都会有旧时的资料,刚入职时大多不会太忙,这些资料库简直是挖不完的宝藏。部门内部分享,多问一下自己”它为什么不那么设计
开源的 比如:YYKit
三、就是自己动手实践来尝试。
对面向对象编程和设计模式的思考深入了很多,如何权衡灵活性和复杂性也有了新的认识。之后在设计很多系统的时候少走了很多弯路,既保证了时间点又保证了质量。如果当时指望着“用的时候再说”,大概已经被项目坑的不能自理了。
1、基本概念:
了解了内核的cpu调度、内存管理和文件系统,了解了应用是怎么跑在操作系统上,操作系统又是怎么运行在硬件上的,
看网络相关的书,之后可以把lighthttpd的代码看了一遍,把几种网络编程模型挨个实现了一遍。
代码大全 设计模式
把代码大全翻了一遍,顺着又去看了设计模式的书,并且用自己的理解把每个模式用文字重新描述了一遍。中间还看了很多语言和框架相关的书,
2、善用工具:
比如linux的各种命令、比如团队内部的各种系统、比如顺手的应用、甚至包括上下班骑的自行车。只要能节约时间、提高效率,那就值得一试。比如:双屏显示器之类
mac上的应用:idea、alfread、omnifocus、甚至synergy和istats menus之类(别人说的)
3、时间管理:
整合碎片时间,减少无意义的时间浪费,
事情可以分成紧急重要、紧急不重要、重要不紧急、不重要不紧急四类,在todo列表里随时要有重要不紧急的事情。
多说一句:很多人还是坚持着没有破解不用的观念,为了几百块钱浪费了大把时间。(注意时间)
4、思考 (用多想想比较好)
遇事多想为什么,并且要反复问为什么。大部分问题其实没有什么高深的科学原理,你要相信。
查找资料时,避免被误导:很重要。 Githhub。stackoverflow 多看多试
做到:
对要说明的事情做总结和抽象,
有个基本完整的思路,
说明白的结论和描述清晰的时间点。
漏了:
5、看苹果的官方文档
用了些第三方,(特别是某些操蛋的),才......,苹果的官方文档有多详尽,
———————大部分搬运于 蛋疼的axb
网友评论