理论
学习要选一本好书,不要持有怀疑的态度,把里面的例子都实现,然后再有思路之后,在做些许的改动,成为自己的风格。读书有快慢之分,一种是用金钱来换时间(选择一家培训机构,或者是求助于人),另一种是用时间来换时间。另外当你有一定的经验后,就要注意去练习代码,有思路就要表现在代码上,在学校是为了解决道理,知识点,但是在工作中是为了解决实际生活中的问题(要的是结果),有想法立马付诸实践才是最好的!
学习最快的是做项目,老朱一般是选择一本国外的老程序的书籍,书中会写出一个完美的项目,书中会把你作为一个新手,而且会形成一个大的框架,会有一个大的图,知道你在干什么,所学知道能对的服务。
真正干活干活的是google,开源社区,要关注,每年都有会有很多项目的更新!
linux操作系统,比较大的公司,都会定制!决定要走很长一段路的话可以考虑!
英文不好的话,对你的编程是个打击!
很多情况下,你遇到的问题,在世界别的地方早就有解决办法!solution,不妨自己有个工具库!很多情况下,老板要求你多少天搞定,在你资料库中有的情况下,可以完全调出来应用,将来,学以致用!直接调用代码库!
1. 扎实的基础。数据结构、离散数学、编译原理,这些是所有计算机科学的基础,如果 不掌握他们,很难写出高水平的程序。据我的观察,学计算机专业的人比学其他专业的人更能 写出高质量的软件。程序人人都会写,但当你发现写到一定程度很难再提高的时候,就应该想 想是不是要回过头来学学这些最基本的理论。不要一开始就去学OOP,即使你再精通OOP,遇到 一些基本算法的时候可能也会束手无策。
2. 丰富的想象力。不要拘泥于固定的思维方式,遇到问题的时候要多想几种解决问题的 方案,试试别人从没想过的方法。丰富的想象力是建立在丰富的知识的基础上,除计算机以外 ,多涉猎其他的学科,比如天文、物理、数学等等。另外,多看科幻电影也是一个很好的途径 。
3. 最简单的是最好的。这也许是所有科学都遵循的一条准则,如此复杂的质能互换原理 在爱因斯坦眼里不过是一个简单得不能再简单的公式:E=mc^2。简单的方法更容易被人理解, 更容易实现,也更容易维护。遇到问题时要优先考虑最简单的方案,只有简单方案不能满足要 求时再考虑复杂的方案。
4. 不钻牛角尖。当你遇到障碍的时候,不妨暂时远离电脑,看看窗外的风景,听听轻音 乐,和朋友聊聊天。当我遇到难题的时候会去玩游戏,而且是那种极暴力的打斗类游戏,当负 责游戏的那部分大脑细胞极度亢奋的时候,负责编程的那部分大脑细胞就得到了充分的休息。 当重新开始工作的时候,我会发现那些难题现在竟然可以迎刃而解。
5. 对答案的渴求。人类自然科学的发展史就是一个渴求得到答案的过程,即使只能知道 答案的一小部分也值得我们去付出。只要你坚定信念,一定要找到问题的答案,你才会付出精 力去探索,即使最后没有得到答案,在过程中你也会学到很多东西。
6. 多与别人交流。三人行必有我师,也许在一次和别人不经意的谈话中,就可以迸出灵 感的火花。多上上网,看看别人对同一问题的看法,会给你很大的启发。
7. 良好的编程风格。注意养成良好的习惯,代码的缩进编排,变量的命名规则要始终保 持一致。大家都知道如何排除代码中错误,却往往忽视了对注释的排错。注释是程序的一个重 要组成部分,它可以使你的代码更容易理解,而如果代码已经清楚地表达了你的思想,就不必 再加注释了,如果注释和代码不一致,那就更加糟糕。
8. 韧性和毅力。这也许是"高手"和一般程序员最大的区别。A good programming is 99 weat and 1ffee。高手们并不是天才,他们是在无数个日日夜夜中磨练出来的。成功能给 我们带来无比的喜悦,但过程却是无比的枯燥乏味。你不妨做个测试,找个10000以内的素数 表,把它们全都抄下来,然后再检查三遍,如果能够不间断地完成这一工作,你就可以满足这 一条。
实践
1 某天,周日(耗费2个小时): 数据对接的时候总是显示有一个数据得到的和想象的不一样(XCode工具断点显示),某人用了Trim()和 Replace()方法始终不行,我认定是方法参数不同引起的(结果也不是),最终解决的办法-->F12,一直找到最原始的方法,发现是int类型,我们这边接收的参数的定义是string类型。------或许早些一步步跟踪下代码是个不错的办法